从 laravel 中的多个相关 table 中检索数据
Retrieve data from multiple related table in laravel
我有3个相关模型。
1.User
public function book(){
return $this->hasMany('App\Book');
}
2.Book
public function photo(){
return $this->hasMany('App\Books_photo');
}
public function user(){
return $this->belongsTo('App\User');
}
3.Books_photo
public function book(){
return $this->belongsTo('App\Book');
}
关系是
User hasmany Book
和
Book hasmany Books_photo
所以我想获取带有特定用户照片的所有书籍。
我可以用这种方法得到 user.I 的所有书籍
$User = User::with('book')->find(decrypt($request->id));
但是这个returns只有书本和用户table中的数据。怎么才能把照片也抓起来呢
您正在寻找 nested eager loading。你会想要这样做:
$User = User::with('book', 'book.photo')->find(decrypt($request->id));
book.photo
是一个嵌套的预加载,它将告诉 eloquent 从 book
模型中获取 photo
关系。
我有3个相关模型。 1.User
public function book(){
return $this->hasMany('App\Book');
}
2.Book
public function photo(){
return $this->hasMany('App\Books_photo');
}
public function user(){
return $this->belongsTo('App\User');
}
3.Books_photo
public function book(){
return $this->belongsTo('App\Book');
}
关系是
User hasmany Book
和
Book hasmany Books_photo
所以我想获取带有特定用户照片的所有书籍。
我可以用这种方法得到 user.I 的所有书籍
$User = User::with('book')->find(decrypt($request->id));
但是这个returns只有书本和用户table中的数据。怎么才能把照片也抓起来呢
您正在寻找 nested eager loading。你会想要这样做:
$User = User::with('book', 'book.photo')->find(decrypt($request->id));
book.photo
是一个嵌套的预加载,它将告诉 eloquent 从 book
模型中获取 photo
关系。