cakequep中的多级关联和过滤器

时间:2016-08-13 06:48:14

标签: cakephp model-associations cakephp-3.2

我是stackoverflow的新手,这是我的第一个问题。 如果有任何错误,请原谅我。

我在CakePHP 3.2工作

我有categoriesproductsseller_products表,他们的关联就像 的 CategoriesTable.php

$this->hasMany('Products', [
   'foreignKey' => 'category_id'
]);

ProductsTable.php

$this->belongsTo('Categories', [
     'foreignKey' => 'category_id',
     'joinType' => 'INNER'
]);
$this->hasMany('SellerProducts', [
    'foreignKey' => 'product_id'
]);

SellerProducts.php

$this->belongsTo('Products', [
    'foreignKey' => 'product_id',
    'joinType' => 'INNER'
]);

表格协会

products表有category_id作为外键引用categories表而seller_productsproduct_id作为外键引用products

seller_productsstock

我想要做的是选择包含其商品在seller_products中的关联商品的所有类别> 0

这就是我所做的

$pros1 = $this->Products->Categories->find()
  ->where([
     'Products.SellerProducts.stock >' => 0
  ])
  ->contain([
     'Products.SellerProducts', 'Subcategories', 'ProductTypes'
  ]);

但它正在给出错误

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Products.SellerProducts.stock' in 'where clause' 

0 个答案:

没有答案