如何选择字段不为空的行?

时间:2016-08-19 13:13:49

标签: laravel laravel-5

我有两个表之间的关系:Blog,Images。

博客模型

public function images(){
  return $this->hasMany('App\ImageBlog', 'id_blog', 'id');
}

控制器

$lastPosts = Blog::orderBy('id', 'desc')->with('images')->take(3)->get();

那么,我怎样才能获得images不为空的最后三行?

2 个答案:

答案 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()中,您只能传递图像表中所需的那些列名,而不是获取整个数据,因此会缩短您的响应时间。