PHP可以实现一对多,(二)一对多关联CURD

# (二)一对多关联CURD

### 一对多关联:

操作一张表,此表外的至少两张表会有同步的改变,此操作为删除操作跟修改操作! 新增操作是建立在前面两张表已经关联好的情况下,第三张表按照id或者其他索引字段的新增操作,并与前面的表的对应的那条数据建立起了捆绑关系! 如果仅仅是在一个表单里面新增内容,三张表都对应的变化,只需要在一对一关联里面再加一个hasone(),里面写上第三张表的模型就可以了!

- 在一对一关联的基础上再新建一张表:

每一个人都可以有几个宠物!

```

CREATE TABLE IF NOT EXISTS `pet` (

`id` int(8) UNSIGNED NOT NULL AUTO_INCREMENT,

`petname` varchar(255) NOT NULL,

`status` tinyint(1) NOT NULL,

`user_id` int(6) UNSIGNED NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

```

- 在一对一关联的基础上,User.php只需要加一条

```

namespace app\index\model;

use think\Model;

class User extends Model

{

// 定义自动完成的属性

protected $insert = ['status' => 1];

// 定义关联方法

public function profile()

{

return $this->hasOne('Profile');

}

// 定义关联

public function pets()

{

return $this->hasMany('Pet');

}

}

```

- 新建一个模型Pet.php

```

namespace app\index\model;

use think\Model;

class Pet extends Model

{

// 定义自动完成的属性

protected $insert = ['status' => 1];

}

```

到这里,就是单独写一个提交表单!将第三张表宠物的内容写进前两张表中!这里比较形象一点的说法就是宠物找主人,并回家!找到主人然后被主人牵回家!

思路:在一对一关联的信息中的每条后面加上一个新增宠物按钮!点击新增就跳到另一个表单页面! 到这里基本上一对多关联就知道是什么回事了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值