фильтрацию по опциями товаров, как мне сделать фильтрацию сразу по двум опциями?
$criteria = $modx->newQuery('msProduct');
$criteria->sortby('menuindex', 'ASC');
$criteria->where(array(
'id:IN' => $array_ids,
'published' => 1,
'class_key' => 'msProduct',
array('msProductOption.key' => "tolschina_paneli_mm", 'msProductOption.value:IN'=> array("1","1.1")),
array('msProductOption.key' => "ploschad_rabochaya_poleznaya_kvm", 'msProductOption.value:IN'=> array("0.84"))
));
$criteria->innerJoin('msProductOption', 'msProductOption', 'msProduct.id=msProductOption.product_id');
$resources = $modx->getCollection('msProduct',$criteria);
Пробую вот так тоже не выходит $array_ids = $modx->getChildIds($parents,6); //Получаем массив значений (только товаров $criteria = $modx->newQuery('msProduct'); $criteria->sortby('menuindex', 'ASC'); $criteria->innerJoin('msProductOption', 'msProductOption', 'msProduct.id=msProductOption.product_id'); $criteria->innerJoin('msProductOption', 'msProductOption2', 'msProduct.id=msProductOption2.product_id'); $criteria->select(['msProduct.id', 'msProduct.parent']); $criteria->where(array( 'id:IN' => $array_ids, 'published' => 1, 'class_key' => 'msProduct', array('msProductOption.key' => "tolschina_paneli_mm", 'msProductOption.value:IN'=> array("1","1.1")), array('msProductOption2.key' => "ploschad_rabochaya_poleznaya_kvm", 'msProductOption2.value'=> array("0.84")) )); $resources = $modx->getCollection('msProduct',$criteria); echo count($resources);
Обсуждают сегодня