Hỏi cách hiển thị giữa mối quan hệ one to many trong laravel
Các bác cho e hỏi chút ạ:
-
Mình có 2 bảng user và comment sử dụng mối quan hệ one to many( Một người dùng có nhiều comment
-
Ở model User mình đã có hàm: public function comments() { return $this->hasMany('App\Comment'); }
-
Ở model Comment mình đã có hàm: public function user() { return $this->belongsTo('App\User'); }
-
Trong controller mình viết câu lệnh eloquent để get toàn bộ bảng comment ra.
-
Phía view mình truyền biến ở controller sang và mình muốn get thêm tên người comment như sau: {{$comment->user->name}} Nhưng lại bị lỗi sau: Trying to get property of non-object Mọi người xem giúp e với ạ. E xin cảm ơn
2 CÂU TRẢ LỜI
Trong Controller bạn phải truy vấn lấy cả user nữa. Truy vấn như sau : Comment::with('user')->get();
sau đó trong view bạn sử dụng foreach rồi lấy như trên
@vunguyen10111995 e cảm ơn a cách của a cx đc ạ. hoặc e dùng cách: {{$comment->user['name']}} cx chạy dc ạ đa tạ a:))
Bác chụp code đưa lên đây xem nào.
@phhuy38 mình làm dc r cảm ơn bạn ))