Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在延迟加载时添加查询范围_Php_Laravel_Eager Loading - Fatal编程技术网

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然后,如果您想使用它,您的
注释
也必须将其添加到
注释
模型中,然后将其添加到“注释”的急切加载约束中。