【发布时间】:2016-12-23 23:24:56
【问题描述】:
我正在开发 CakePHP 3.2。
我有categories、products、seller_products 表,它们的关联是
categories->hasMany('Products');
seller_products->hasMany('Products');
我必须按类别检索所有产品组,其中 Seller_products.stock > 0
这就是我正在做的事情
$pros1 = $this->Products->Categories->find()
->where([
'Categories.status' => 0,
])
->contain([
'Products.SellerProducts', 'Subcategories', 'Subcategories.ProductTypes'
])
->matching('Products.SellerProducts', function(\Cake\ORM\Query $q) {
return $q->where(['SellerProducts.stock >' => 0]);
});
但在调试时,它会返回两次相同的值。
foreach($pros1 as $p){debug($p);} 两次打印相同的值
/src/Controller/PagesController.php (line 120)
object(App\Model\Entity\Category) {
'id' => (int) 1,
'title' => 'Electronics',
'description' => '',
'icon' => 'fa-television',
'status' => (int) 0,
'created' => object(Cake\I18n\Time) {
.........
}
/src/Controller/PagesController.php (line 120)
object(App\Model\Entity\Category) {
'id' => (int) 1,
'title' => 'Electronics',
'description' => '',
'icon' => 'fa-television',
'status' => (int) 0,
'created' => object(Cake\I18n\Time) {
.........
}
debug(count($pros1)) 打印 1
【问题讨论】:
标签: cakephp cakephp-3.2