【发布时间】:2017-01-13 09:21:47
【问题描述】:
亲爱的人们。
最近我开始更多地使用 Laravel 模型和 eloquent 关系,而不是编写原始查询。
现在我遇到了一个问题:
我在用户模型中得到了关系:
public function roles()
{
return $this->belongsToMany('App\Role', 'users_has_roles', 'Users_id', 'Roles_role_id');
}
角色模型中的另一个关系:
public function users()
{
return $this->belongsToMany('App\User', 'users_has_roles', 'Roles_role_id', 'Users_id');
}
我可以通过在控制器中使用代码来检索所有用户并回显他们:
$users = User::with('roles')->get();
foreach ($users as $user) {
echo $user."<br>";
}
{"id":18,"name":"Ajx6bK","surname":"AwkMTWzgIB","username":"vt_2528","created_at":"2017-01-12","updated_at": null,"roles":[{"role_id":3,"role_name":"Reporter","role_description":"能够管理系统中的报告。","pivot":{"Users_id":18,"Roles_role_id ":3}}]} {"id":19,"name":"NJYMCU","surname":"ZGzjvpDAiP","username":"vt_6443","created_at":"2017-01-12","updated_at":null," roles":[{"role_id":1,"role_name":"Admin","role_description":"拥有系统中的大部分用户权限,包括用户管理。","pivot":{"Users_id":19, "Roles_role_id":1}}]} {"id":20,"name":"hVUrMG","surname":"fc72G7Ksw2","username":"vt_6610","created_at":"2017-01-12","updated_at":null," roles":[{"role_id":2,"role_name":"Data-entry","role_description":"能够管理系统中的记录。","pivot":{"Users_id":20,"Roles_role_id" :2}}]}
问题: 我无法访问表“角色”的任何字段变量。 $user->roles->role_name 或 role_description。
【问题讨论】:
标签: php oop laravel-5 eloquent many-to-many