Не могу сгруппировать запрос по ID.
[CODE]$items = \Bitrix\Iblock\Elements\ElementCatalogproductTable::getList([
'order' => [
'DATE_START.VALUE' => 'ASC'
],
'select' => [
'ID',
'NAME',
'OFFERS.IBLOCK_ELEMENT_ID',
'RESERVATION.IBLOCK_ELEMENT_ID',
'RESERVATION_ITEMS_' => 'RESERVATION_ITEMS',
'PRODUCTS.AVAILABLE',
'DATE_START'
],
'group' => [
'OFFERS.IBLOCK_ELEMENT_ID',
],
'count_total' => true,
'filter' => [
'ACTIVE' => 'Y',
'PRODUCT_TYPE.VALUE' => $config['PRODUCT_FILTER_PROGRAM'],
'FINISH_PROGRAM.VALUE' => false,
'>=DATE_START.VALUE' => $date->format('Y-m-d'),
'PRODUCTS.AVAILABLE' => 'Y',
[
'LOGIC' => 'OR',
[
'=RESERVATION_ITEMS_PROPERTY_799' => 801
],
[
'RESERVATION_ITEMS_PROPERTY_799' => false,
]
],
[
'LOGIC' => 'OR',
[
'RESERVATION_ITEMS_PROPERTY_800' => false
],
[
'RESERVATION_ITEMS_PROPERTY_801' => false,
],
[
'RESERVATION_ITEMS_PROPERTY_800' => $age
],
[
'RESERVATION_ITEMS_PROPERTY_801' => $age
],
[
'>=RESERVATION_ITEMS_PROPERTY_800' => $age - $step,
'<=RESERVATION_ITEMS_PROPERTY_801' => $age,
]
]
],
'runtime'=> [
new \Bitrix\Main\Entity\ReferenceField(
'PRODUCTS',
ProductTable::class,
['=ref.ID' => 'this.ID']
),
new \Bitrix\Main\Entity\ReferenceField(
'OFFERS',
ElementPropS16Table::class,
['=ref.PROPERTY_69' => 'this.ID']
),
new \Bitrix\Main\Entity\ReferenceField(
'RESERVATION',
ElementPropertyTable::class,
['=ref.VALUE' => 'this.IBLOCK_ELEMENTS_ELEMENT_CATALOGPRODUCT_OFFERS_IBLOCK_ELEMENT _ID']
),
new \Bitrix\Main\Entity\ReferenceField(
'RESERVATION_ITEMS',
ElementPropS158Table::class,
['=ref.PROPERTY_798' => 'this.IBLOCK_ELEMENTS_ELEMENT_CATALOGPRODUCT_RESERVATION_IBLOCK_EL EMENT_ID']
),
]
]);
[/CODE]Я так понимаю, такая группировка не прокатит. А как-то можно?
[CODE]$items = \Bitrix\Iblock\Elements\ElementCatalogproductTable::getList([
'order' => [
'DATE_START.VALUE' => 'ASC'
],
'select' => [
'ID',
'NAME',
'OFFERS.IBLOCK_ELEMENT_ID',
'RESERVATION.IBLOCK_ELEMENT_ID',
'RESERVATION_ITEMS_' => 'RESERVATION_ITEMS',
'PRODUCTS.AVAILABLE',
'DATE_START'
],
'group' => [
'OFFERS.IBLOCK_ELEMENT_ID',
],
'count_total' => true,
'filter' => [
'ACTIVE' => 'Y',
'PRODUCT_TYPE.VALUE' => $config['PRODUCT_FILTER_PROGRAM'],
'FINISH_PROGRAM.VALUE' => false,
'>=DATE_START.VALUE' => $date->format('Y-m-d'),
'PRODUCTS.AVAILABLE' => 'Y',
[
'LOGIC' => 'OR',
[
'=RESERVATION_ITEMS_PROPERTY_799' => 801
],
[
'RESERVATION_ITEMS_PROPERTY_799' => false,
]
],
[
'LOGIC' => 'OR',
[
'RESERVATION_ITEMS_PROPERTY_800' => false
],
[
'RESERVATION_ITEMS_PROPERTY_801' => false,
],
[
'RESERVATION_ITEMS_PROPERTY_800' => $age
],
[
'RESERVATION_ITEMS_PROPERTY_801' => $age
],
[
'>=RESERVATION_ITEMS_PROPERTY_800' => $age - $step,
'<=RESERVATION_ITEMS_PROPERTY_801' => $age,
]
]
],
'runtime'=> [
new \Bitrix\Main\Entity\ReferenceField(
'PRODUCTS',
ProductTable::class,
['=ref.ID' => 'this.ID']
),
new \Bitrix\Main\Entity\ReferenceField(
'OFFERS',
ElementPropS16Table::class,
['=ref.PROPERTY_69' => 'this.ID']
),
new \Bitrix\Main\Entity\ReferenceField(
'RESERVATION',
ElementPropertyTable::class,
['=ref.VALUE' => 'this.IBLOCK_ELEMENTS_ELEMENT_CATALOGPRODUCT_OFFERS_IBLOCK_ELEMENT
),
new \Bitrix\Main\Entity\ReferenceField(
'RESERVATION_ITEMS',
ElementPropS158Table::class,
['=ref.PROPERTY_798' => 'this.IBLOCK_ELEMENTS_ELEMENT_CATALOGPRODUCT_RESERVATION_IBLOCK_EL
),
]
]);
[/CODE]Я так понимаю, такая группировка не прокатит. А как-то можно?