Constraining Eager Loads

https://viblo.asia/p/eloquent-relationships-in-laravel-phan-3-MJykjmxyePB

Constraining Eager Loads

Đôi khi bạn có thể muốn eager load 1 relationship, nhưng cũng thêm 1 số ràng buộc cho câu truy vấn eager loading. Dưới đây là 1 ví dụ:

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

Trong ví dụ này, Eloquent sẽ chỉ eager load các posts với điều kiện cột title của nó có chứa chữ "first". Dĩ nhiên, bạn có thể gọi các query builder method khác cho tùy chỉnh của bạn.

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

Last updated