我正在使用画廊页面,如果我单击其中一个,它将重定向我到单个画廊页面,并应该显示该画廊的照片。
当我进入实际图库页面时,图库对象中没有任何内容。
当我做Gallery::with('photos')->get()
时。这会给我每个画廊的照片。我只想要来自实际画廊的照片。
谢谢。
//Photo model
class Photo extends Model
{
public function gallery()
{
return $this->belongsTo('App\Gallery');
}
}
//Gallery model
class Gallery extends Model
{
public function getRouteKeyName()
{
return 'slug';
}
/**
* Get the photos of this gallery.
*/
public function photos()
{
return $this->hasMany('App\Photo');
}
}
//show metod in GalleryController
public function show(Gallery $gallery)
{
$gallery->load('photos');
return compact('gallery');
}
答案 0 :(得分:0)
图库中没有任何内容,因为您没有返回视图。
此行:
return compact('gallery');
需要一个视图,例如:
return view("somethingFolder.somethingView", compact('gallery'));
或者,如果您只是使用ajax拉动来显示模型,则可以使用以下内容:
$view = view('somefolder.someview', compact('gallery'));
$sections = $view->renderSections(); // returns an associative array of 'content', 'pageHeading' etc
return $sections['modalContent']; // this will only return whats in the content section
然后在您看来,$gallery->photos
将为您提供该画廊的照片集。