Relationship Methods Vs. Dynamic Properties

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

Relationship Methods Vs. Dynamic Properties

Nếu bạn không cần phải thêm vào các giằng buộc cho 1 truy vấn Eloquent relationship, bạn có thể truy cập vào 1 relationship như là 1 property. Ví dụ, tiếp tục sử dụng UserPost model, chúng ta có thể truy cập đến tất cả các posts của user như sau:

$user = App\User::find(1);

foreach ($user->posts as $post) {
    //
}

Dynamic properties là "lazy loading", có nghĩa là nó sẽ chỉ tải dữ liệu của relationship khi bạn thực sự truy cập chúng. Bởi vì điều này, các developers thường sử dụng eager loading để truy cập vào các relationship. Eager loading cung cấp một sự giảm đáng kể trong các truy vấn SQL mà cần để thực hiện tải các relationship của model.

Last updated