@tgarl

Как отфитровать заказы по свойству товаров?

У товаров есть свойства: бренды, тип...
Как можно получить список заказов у которых есть товары со свойством бренд = ..., или тип=ботинки?

Отфильтровать по имени товара можно так
$parameters = [
			'filter' => [
				'BASKET.NAME' => "%".$_REQUEST['CODE']."%"
			]
		];
$dbRes = \Bitrix\Sale\Order::getList($parameters);

В BASKET не передаются эти свойства.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
@PetrPo
use Bitrix\Main\ORM\Fields\Relations\Reference;
use Bitrix\Main\ORM\Query\Join;
use Bitrix\Iblock\ElementPropertyTable;

\Bitrix\Main\Loader::includeModule('sale');

$propertyId = 1;

$result = \Bitrix\Sale\Order::getList([
	'filter' => ['PROPERTIES.IBLOCK_PROPERTY_ID' => $propertyId, '!PROPERTIES.VALUE' => false],
	'select' => ['ID'],
	'runtime' => [
		new Reference(
			'PROPERTIES', ElementPropertyTable::class,
			Join::on('this.BASKET.PRODUCT_ID', 'ref.IBLOCK_ELEMENT_ID')
		)
	]
])->fetchAll();

print_r($result);


$propertyId свой укажи
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы