Lithium フレームワークを使用して、Post と Image という 2 つのモデル クラスを作成しました。それらは、hasMany 関係を介して関連付けられています。
//Post.php
class Post extends \lithium\data\Model {
public $hasMany = array('Image');
}
私の PostsController のクエリの 1 つで、順序で並べ替えられ、制限がある画像を含む投稿を見つけようとしています。ただし、画像の順序と制限のオプションは無視されています。私のクエリは次のようになります。
//PostsController.php
$post = Post::find('first', array(
'with'=>array(
'Image'=>array(
'order'=>array('position'=>'ASC'),
'limit'=>3
)
),
'conditions'=>array(
'Post.id'=>'some-id-value'
)
));
この特定のクエリは、「位置」でソートされていない、関連するすべての画像を含む投稿を返しています。たとえば、この投稿に関連する 10 個の画像がある場合、位置で並べ替えられた 3 個の制限ではなく、10 個すべての画像が返されます。
一般に、モデルの関連する hasMany データを順序付けて制限できるようにしたいという考えです。これは Lithium の hasMany 関係で可能ですか、それとも hasMany は常にすべての関連データを返しますか? 明らかに、私が試みていることは正しい方法ではありません。