如何在 Laravel 中访问关系,同时构建查询?



假设我有表格

公司编号 | 姓名客人ID | 姓名簿ID | 姓名


他们有关系
的模型 公司 ->有很多 -> 客人
->有很多 ->书

现在,我想获得来自特定公司
的客人的所有书籍,我不知道如何在雄辩的ORM
中达到这一点,我将感谢任何帮助
谢谢

您可以使用whereHas根据是否存在关系进行查询:

$books = Book::whereHas('guest.company', function ($query) use ($companyId) {
$query->where('id', $companyId);
})->get();

粗略地:获取属于 ID 为$companyId的公司的客人的所有书籍

拉拉维尔文档 - 5.6 - 雄辩 - 关系 - 查询关系是否存在

$company = Company::with("guests.books")->find($id);//或者你如何得到公司并不重要

$company->guests->books//为您提供所需的内容。

请注意,with("guests.books")不是必需的,但它在单个查询中为您提供所有数据

有关更多详细信息,您可能需要查看有关关系的官方文档

最新更新