假设我有桌子
公司 ID |名称
客人 ID |名称
书 ID |名称
他们有关系模型
公司-> hasMany->客人
访客-> hasMany->预订
现在,我想获得所有来自特定公司的客人的书籍
我不知道如何在雄辩的ORM中达到目标
我会很感激的
谢谢
答案 0 :(得分:0)
$company = Company::with("guests.books")->find($id);
//或公司的成立没关系
$company->guests->books
//为您提供所需的内容。
请注意,with("guests.books")
不是必需的,但是它可以在单个查询中为您提供所有数据
有关更多信息,您可能想查看official docs关于关系的信息
答案 1 :(得分:0)
您可以使用whereHas
根据关系的存在进行查询:
$books = Book::whereHas('guest.company', function ($query) use ($companyId) {
$query->where('id', $companyId);
})->get();
大致:获取ID为$companyId
的公司客人的所有书籍
Laravel Docs - 5.6 - Eloquent - Relationships - Querying Relationship Existence