阅读(4064) (8)

Laravel 8 为预加载添加约束

2021-07-08 09:44:45 更新

有时,你可能希望预加载一个关联,同时为预加载查询添加额外查询条件,就像下面的例子:

$users = App\Models\User::with(['posts' => function ($query) {
    $query->where('title', 'like', '%first%');
}])->get(); 

在这个例子中, Eloquent 将仅预加载那些 title 列包含 first 关键词的文章。也可以调用其它的 查询构造器 方法进一步自定义预加载操作:

$users = App\Models\User::with(['posts' => function ($query) {
    $query->orderBy('created_at', 'desc');
}])->get(); 

注意:在约束预加载时,不能使用 limittake 查询构造器方法。