私はlaravelのhasMany関係を制限しようとしていますが、各投稿の代わりに全部またはすべてのレコードに制限があります。以下は説明のための私のコードです。Laravelの各投稿のコメントの制限(投稿モデルとのhasMany関係)
$posts = \App\Post::orderBy('updated_at', 'DESC')->with('comments')->where('user_posts.user_id', $user_id)->paginate(10);
下回っ問題ではなく、各ポストのための2のコメントを与える、それはすべてのフェッチポストからわずか2コメントを与えているとして、私は、各記事に2または3の最近のコメントを取得しようとしています
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);
}
}
。
現在の結果:
POST1:
- コメント1件の
- コメント2
POST2: それは全体的に制限されるため、ポスト2にロードされませんコメント。
予想:
POST1:
- コメント1
- コメント2
POST2:
- コメント1
- 私は似たような行っている2
この '\アプリケーション\ポストを試してみてください::のOrderBy( 'updated_atの'、 'DESC')の可能な解決策ですq){ $ q-> take(2); }])> get(); '!! – Maraboc
私はそれを試みたが、私は同じ結果を与える –
明らかな質問投稿2コメントがありますか? – Maraboc