public function roles(){
return $this->belongsToMany('Role','RoleUser','role_id','user_id');
}
RoleUser模型中:
protected $table='test_role_user'; 指定了表名
运行以下代码:
//多对多关联
$user = User::get(1);
// 获取用户的所有角色
$roles = $user->roles;
echo 'User#'.$user->name.'所拥有的角色:<br>';
foreach($roles as $role)
{
echo $role->name.'<br>';
}
因为这个表改了表的前缀,不是tp前缀。显示SQLSTATE[42S02]: ba
无法使用自己指定的表名。
最佳答案