我是这些表格:
用户
| ID | ROLE_ID | clan_id |
角色
| ID |蛞蝓|
部族
| ID |
我需要抓住所有使用slug的用户,例如' leader'
我该怎么做?
到目前为止我得到了什么:
class clan extends Model{
public function leader()
{
$leader = User::whereHas('role', function($query) {
$query->where('slug', 'leader');
})->where('clan_id', $this->id)->get();
return $leader;
}
}
但这并不聪明。而不是这个,我想让它加入我的氏族表
部族:
| ID | leader_user_id |
所以我可以轻松访问它。
非常感谢:)
答案 0 :(得分:1)
您可以在clan和user之间创建location = /app.js {
root /path/to/file/dir;
rewrite ^ /client.app.js break;
}
关系:
one-to-many
在public function users()
{
return $this->hasMany('App\User');
}
函数中,您可以写为:
leader()
<强>更新强>
以下评论的回复
您可以将范围创建为:
public function leader()
{
$leader = $this->users()->whereHas('role', function($query) {
$query->where('slug', 'leader');
})->get();
return $leader;
}
您可以将public function scopeLeader($query)
{
return $query->with(['users' => function($query) {
$query->whereHas('role', function($q) {
$q->where('slug', 'leader');
});
}
取为:
Clan