我需要知道用于查询嵌套关系并返回结果的 Laravel Eloquent 语法
Posted
技术标签:
【中文标题】我需要知道用于查询嵌套关系并返回结果的 Laravel Eloquent 语法【英文标题】:I need to know the Laravel Eloquent syntax for querying the nested relationship and returning the results 【发布时间】:2020-06-07 17:33:29 【问题描述】:我有以下型号
公司 联系方式 门票 工作 用户工作属于工单,工单属于联系人或用户(多态),联系人属于公司。我可以使用
检索特定公司的所有工作Company::with('contacts.tickets.jobs')->where('id', 10)->get();
我想要一个特定公司的系统中所有工作的列表。我尝试了以下方法,但它不起作用,它正在返回所有工作
Job::with(['ticket' => fn($b) => $b->whereHasMorph('creator', [App\Contact::class],fn($b) => $b->where('company_id', 10))])->get();
【问题讨论】:
【参考方案1】:$companyId = 6;
Job::whereHas('ticket', fn($b) =>
$b->whereHasMorph('creator', [App\Contact::class], fn($c) =>
$c->where('company_id', $companyId)
)
)->with(['ticket.creator.company'])->get();
【讨论】:
以上是关于我需要知道用于查询嵌套关系并返回结果的 Laravel Eloquent 语法的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB Mongoose 聚合查询深度嵌套数组删除空结果并填充引用