Laravel:如何在'with'函数查询中获取每个集合的第一条记录

时间:2016-02-02 18:13:24

标签: sql laravel eloquent

我希望收集所有艺术家的最新图片。

以下代码返回所有艺术家的集合,但只有一个图像与第一位艺术家相关联。

$data = Artist::with(['images' => function($q){
            $q->first();
        }])
        ->get();

return $data;

我的模特:

class Artist extends Model {  
   public function images() 
   {
      return $this->belongsToMany('App\Image');
   }
}

class Image extends Model {  
    public function artists() 
    {
       return $this->belongsToMany('App\Artist');
    }
}

1 个答案:

答案 0 :(得分:0)

你可以在你的模态中设置:

public function FirstImage()
{
    return $this->hasOne('image');
}

然后:

$data = Artist::with('FirstImage')->get();