我想从嵌套的资源控制器中检索父列。如果嵌套控制器至少有单行,我可以轻松地检索父级。但是如果没有嵌套控制器的行,我怎么能得到父对象?即使孩子不在场,如何获取父母数据?
为了解释这一点:
/* I have two routes: */
Route::resource('articles', 'ArticleController');
Route::resource('articles.images', 'ArticleImageController');
ArticleImage模型具有这样的功能:
public function article() {
return $this->belongsTo('App\Article');
}
这里是我得到的数据:
/* www.site.com/articles/1/images */
public function index($id) {
//
$data['images'] = ArticleImage::where('article_id', $id);
// to get parent data, I can call
$article = $data['images'][0]->article();
}
的问题是,如果没有图片。那我怎样才能得到父文章对象?因为我想在图像页面上显示它的名字。使用文章编号
嗨@Izozozo其实我不是在谈论文章控制器,而是图像控制器。我知道我可以检索文章控制器下的图像。但是我想要的是与你上面分享的相反。我想在没有图像时从图像控制器中检索文章对象。 –
我知道,这个索引函数是在你的** ImageController **中,而不是在Article中。由于您嵌套资源路由,第一个参数将是文章ID。这条路线:'articles/1/images'调用你的Image控制器索引方法(就像你设置的那样),文章ID为1.这条路线:'articles/1/images/2'会调用你的'show'方法:''显示($ article_id,$ image_id)'在** ImageController ** – Iamzozo
我现在明白了。谢谢 :) –