我与 pjt_role_admin 有多对多表“admins”、“pjt_roles”的关系。
但是,不工作
我有 2 个型号
类角色
protected $table = 'pjt_roles';
public function Admin(){
return $this->belongsToMany(Admin::class',pjt_role_admin');
}
班级管理员
public function Role(){
return $this->belongsToMany(Role::class,'pjt_role_admin');
}
和桌子pjt_role_admin
有属性
表中的 admin_idadmins
表中的 role_idpjt_roles
指定关系中的数据透视表。默认 laravel 假设admin_role
作为你的数据透视表,因为你有Admin
and Role
models
类角色
protected $table = 'pjt_roles';
public function Admin(){ // should be admins() for better readability
return $this->belongsToMany(Admin::class, 'pjt_role_admin');
}
班级管理员
public function Role(){ // should be roles() for better readability
return $this->belongsToMany(Role::class, 'pjt_role_admin');
}
来确定表名
关系的连接表,Eloquent 将连接两个相关模型
名称按字母顺序排列。但是,您可以自由地覆盖此设置
习俗。您可以通过将第二个参数传递给
属于ToMany 方法。
获取数据
$admin = Admin::find(1);
$roles = $admin->Role; // should change to roles() in relationship for better readability
Save
$admin->Role()->attach($roleId);
details https://laravel.com/docs/5.4/eloquent-relationships#many-to-many https://laravel.com/docs/5.4/eloquent-relationships#many-to-many
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)