我想限制laravel中的hasMany關係,但不是每個帖子都限制整個或全部記錄。以下是我的解釋代碼。對Laravel中的每個帖子的評論限制(與帖子模型有很多關係)
class Post extends Model {
protected $table = "user_posts";
protected $appends = ['logged_in_user_id', 'comments_count'];
public function user() {
return $this->belongsTo('App\User');
}
public function comments() {
return $this->hasMany('App\Comment')->take(2);
}
}
我試圖讓最近2或3的評論每篇文章如下
$posts = \App\Post::orderBy('updated_at', 'DESC')->with('comments')->where('user_posts.user_id', $user_id)->paginate(10);
問題是不是給每個職位2評論,它給所有的取出後只有2個評論。
當前的結果:
POST1:
- 註釋1個
- 評論2
POST2: 暫無評論在後2加載,因爲它限制了整體。
預期:
POST1:
- 評論1
- 評論2
POST2:
- 評論1
- 評論2
試試這個'\軟件\郵政::排序依據( '的updated_at', 'DESC') - >用([ '意見'=>函數($ q){ $ q-> take(2); }]) - > get();'! – Maraboc
我試過,但我給出了相同的結果 –
明顯的問題post2有評論? – Maraboc