Laravel选择Only Child表数据,忽略父数据



嘿,伙计们,我想从child of child data中进行选择,我不需要父数据,你们能帮我吗?

团队表Id, Name, manager_id

经理表Id company_id, user_id

团队模式

public function manager()
{
return $this->belongsTo(Manager::class);
}

经理模态

public function user()
{
return $this->belongsTo(User::class);
}
控制器

managerUsers = Team::with('manager.user')
->where('company_id', $company->id)
->get();

它工作得很好,但它也返回团队和经理表数据,我只想要用户表数据

我没有测试这个,但它应该为您工作

这是whereHas()的文档

这将查找具有特定公司id的团队的经理

$managerUsers = Manager::whereHas('team', function($query) use ($company) {
$query->where('company_id', $company->id);
})->with('user')->get();
$managerUsers = Team::query()
->join('managers', 'managers.id', '=', 'teams.manager_id')
->join('users', 'users.id', '=', 'managers.user_id')
->select(['users.id','users.first_name', 'users.last_name'])
->get();

最新更新