2016-05-20 4 views
0

私は以下のスコープを持っています。奇妙な関係の結果を制限してクエリの読み込み時間を短縮

public function scopeWithPosts($query) 
{ 
    return $query->with(
     ['posts' => function($query) { 
      $query->limit(2); // Line 5 
     }] 
     // further eager loads 
     // e.g. ['posts.*'] 
    ); 
} 

次のように私の関係は次のとおりです。

public function posts() 
{ 
    return $this->hasMany('Models\Post', 'user_id', 'user_id'); 
} 

私は私のクエリにロード時間を短縮するために、上記の操作を行うためにしようとしています。問題は、制限しようとすると動作しないように見えることです。

たとえば、5行目では1件、5件で5件の結果が得られます。

私は間違っていますか?

ありがとうございます。

答えて

0

あなたはすでにテイクメソッドをテストしましたか?あなたは

$query->skip(10)->take(2); 
を使用することができ、より正確な制限については

$query->take(2); 

関連する問題