Php 如何在延迟加载时添加查询范围
我试图在检索用户任务/注释时使查询范围正常工作。 以下是我的查询通常的外观:Php 如何在延迟加载时添加查询范围,php,laravel,eager-loading,Php,Laravel,Eager Loading,我试图在检索用户任务/注释时使查询范围正常工作。 以下是我的查询通常的外观: if ($request->is('tasks')) { $user->load([ 'tasks' => function ($query) { $query->where('completed', 0)->latest(); }, 'comments' => function ($query)
if ($request->is('tasks')) {
$user->load([
'tasks' => function ($query) {
$query->where('completed', 0)->latest();
},
'comments' => function ($query) {
$query->latest();
},
]);
}
我在模型中添加的查询范围:
public function scopeInCompleted($query) {
$query->where('completed', 0);
}
如何在查询中添加此作用域?您应该能够以相同的方式调用它:
'tasks' => function ($query) {
$query->InCompleted()->latest();
},
如果“注释”关系具有相同的完整查询,该怎么办?是否可以在“任务”之后添加“注释”?@Dax您将
scopeInCompleted()
添加到了哪个模型?添加到我的“任务”模型中only@Dax然后,如果您想使用它,您的注释
也必须将其添加到注释
模型中,然后将其添加到“注释”的急切加载约束中。