关联定义

belongsToMany方法的参数如下:

  1. public function roles()
  2. {
  3. return $this->belongsToMany('Role','ppindexmodelAccess');
  4. }

我们可以通过下面的方式获取关联数据

  1. $user = User::get(1);
  2. $roles = $user->roles;
  3. // 获取中间表数据
  4. dump($role->pivot);

只新增中间表数据,可以使用

  1. $user = User::get(1);
  2. // 仅增加关联的中间表数据
  3. $user->roles()->save(1);
  4. // 或者
  5. $role = Role::get(1);
  6. $user->roles()->save($role);
  7. // 批量增加关联数据
V5.0.6+版本开始,attach方法的返回值是一个Pivot对象实例,如果是附加多个关联数据,则返回对象实例的数组。

我们可以在Role模型中定义一个相对的关联关系,例如:

  1. <?php
  2. namespace appindexmodel;
  3. use thinkModel;
  4. class Role extends Model
  5. {
  6. public function users()
  7. {
  8. return $this->belongsToMany('User');
  9. }