1

私は以下のモデルを持っています。

class User extends Eloquent {
  public function comments() {
    return $this->hasMany('Comment');
  }
}

class Comment extends Eloquent {
  public function user() {
      return $this->belongsTo('User');
  }
}

この例では、ユーザーは 1,000 件のコメントを持つことができます。私はそれらを最初の10個だけに制限しようとしています.私はUserモデルでそれをやってみました

class User extends Eloquent {
  public function comments() {
    return $this->hasMany('Comment')->take(10);
  }
}

UserControllerクロージャーを介して

$users = User::where('post_id', $post_id)->with([
  'comments' => function($q) {
     $q->take(10);
   }
]);

どちらの方法も、結果の最初のレコードでのみ機能するようです。これを処理するより良い方法はありますか?

4

0 に答える 0