我是stackoverflow的新手,这是我的第一个问题。 如果有任何错误,请原谅我。
我在CakePHP 3.2工作
我有categories
,products
,seller_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_products
有product_id
作为外键引用products
表
seller_products
列stock
。
我想要做的是选择包含其商品在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'