Cookbook のContainable Behaviorセクションの2 番目の文によると、この句がcontain()
サポートされています。limit
CakePHP 1.2 コアに新たに追加されたのは、ContainableBehavior です。このモデルの動作により、モデルの検索操作をフィルタリングおよび制限できます。
CakePHP 2.5 を使用しています。
Product と Category (HABTM 関係) の 2 つのモデルがあります。
製品の関係:
public $hasAndBelongsToMany = array(
'Category' => array(
'className' => 'Category',
'joinTable' => 'categories_products',
'foreignKey' => 'product_id',
'associationForeignKey' => 'category_id',
),
);
カテゴリの関係:
public $hasAndBelongsToMany = array(
'Product' => array(
'className' => 'Product',
'joinTable' => 'categories_products',
'foreignKey' => 'category_id',
'associationForeignKey' => 'product_id',
),
);
私は次のように使用しようとしてlimit
います:
$cats = $this->Category->find('all', array(
'fields' => array(
'id',
'parent_id'
),
'contain' => array(
'Product' => array(
'fields' => array(
'id',
'name',
),
'limit' => 3,
'order' => array('created DESC'),
),
),
));
その結果、全体で 3 つの製品のみが選択されます。カテゴリごとに 3 つの製品ではありません。包含可能な動作が適切に読み込まれます。カテゴリーごとに 3 つの製品を取得するにはどうすればよいですか?