cakephp 3,通过多对多关系查找
我正在开发一个简单的网店,在那里我有一个与产品有多对多关系的表大小。我想找到特定尺寸的所有产品: /按尺寸/XL列出的产品,其中我的控制器和操作是:cakephp 3,通过多对多关系查找,php,cakephp,many-to-many,cakephp-3.0,Php,Cakephp,Many To Many,Cakephp 3.0,我正在开发一个简单的网店,在那里我有一个与产品有多对多关系的表大小。我想找到特定尺寸的所有产品: /按尺寸/XL列出的产品,其中我的控制器和操作是: public function productsBySize($size){ $slug = $this->request->session()->read('Category.slug'); $gender = $this->request->session()->read('
public function productsBySize($size){
$slug = $this->request->session()->read('Category.slug');
$gender = $this->request->session()->read('Category.gender');
$this->paginate = [
'contain' => ['Categories', 'Taxes', 'Manufactures', 'Promotions', 'ProductImages', 'Sizes'],
'maxLimit' => 9,
'order' => ['price'=>'ASC']
];
$sub = $this->buildTree($this->Categories->find()->toArray());
$categories = $this->treeToHtml($sub);
$products = $this->paginate($this->Products->find()->where([
'Categories.slug'=>$slug,
'gender'=>$gender,
**'Sizes.name'=>$size**
]));
if($slug == 'promotion'){
$products = $this->paginate($this->Products->find()->where([
'promotion_id >'=>0,
'gender'=>$gender,
'Sizes.name'=>$size
]));
}
if($slug == 'all'){
$products = $this->paginate($this->Products->find('all')->where([
'gender'=>$gender,
'Sizes.name'=>$size
]));
}
$sizes = $this->Sizes->find('all');
$this->set(compact('products', 'slug', 'categories', 'sizes'));
$this->render('products', 'Webshop.default', ['products', 'categories', 'sizes']);
}
我的联接表是产品大小,我使用的是标准约定。
'size.name'=>$size不起作用
有什么帮助吗?Thx答案与此类似