我有两个表之间的关系:Blog,Images。
博客模型
public function images(){
return $this->hasMany('App\ImageBlog', 'id_blog', 'id');
}
控制器
$lastPosts = Blog::orderBy('id', 'desc')->with('images')->take(3)->get();
那么,我怎样才能获得images
不为空的最后三行?
答案 0 :(得分:2)
如果我理解正确,您想使用has()
方法:
$lastPosts = Blog::orderBy('id', 'desc')->has('images')->take(3)->get();
答案 1 :(得分:1)
另一种使用图像发布信息的优化方法如下
$lastPosts=Blog::orderBy('id','desc')
->with(array('images'=>function($query){
$query->select('id','image'....);
}))->take(3)->get();
在$ query-> select()中,您只能传递图像表中所需的那些列名,而不是获取整个数据,因此会缩短您的响应时间。