Php Laravel 5.2 Auth::用户外键联接查询
我是拉威尔的新手 我在defaultPhp Laravel 5.2 Auth::用户外键联接查询,php,laravel,laravel-5,eloquent,laravel-5.2,Php,Laravel,Laravel 5,Eloquent,Laravel 5.2,我是拉威尔的新手 我在defaultUser表中添加了一个名为permission的新列。它是与权限表(user.permission=Permissions.p\u id)中的p\u id相关的外键 一个用户属于权限级别(p\u id),但权限级别可以属于多个用户 [DB FIELDS] user - ... - permission permission - p_id - p_permission - p_title 还有我雄辩的模型定义 [App\Permission] publ
User
表中添加了一个名为permission
的新列。它是与权限表(user.permission=Permissions.p\u id)
中的p\u id
相关的外键
一个用户属于权限级别(p\u id
),但权限级别可以属于多个用户
[DB FIELDS]
user
- ...
- permission
permission
- p_id
- p_permission
- p_title
还有我雄辩的模型定义
[App\Permission]
public function user() {
return $this->hasMany('App\Permission', 'p_id');
}
在控制器中,如何查询p_title
或其他权限。*
字段
我试过了
两者都返回试图获取非对象的属性
及
返回所有用户。(我想要的是登录用户)
如何使用外键查询Auth::User()
,就像使用Auth::User()->p_title
一样简单
非常感谢。您的权限模型关系不正确
[应用程序\权限]
public function users() {
return $this->hasMany('App\User', 'permission');
}
你能在你的权限模型中检查这个吗
App/Permission
protected $table = 'Permission';
protected $primaryKey = 'p_id';
我以这种方式更改了代码,但无法正常工作Auth::User()->permission->p_title
仍然返回尝试获取非对象的属性
为什么不使用tinker
并尝试调试?请尝试$u=App\User::first()
,然后尝试$u->permission
。看看你有没有收获。
echo Auth::User()->with('permission')->get();
public function users() {
return $this->hasMany('App\User', 'permission');
}
App/Permission
protected $table = 'Permission';
protected $primaryKey = 'p_id';