@kyja

Как убрать избыточные поля в runtime Bitrix D7?

$filter = [
		"IBLOCK_SECTION_ID" => $id_koleccii,
		"IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_MEASURE" => 6,
		];
		$select = [
		    'ID', 'measure_value', 
		];
		$runtime = [
		    'measure_value' => [
		        'data_type' =>"Bitrix\Catalog\ProductTable",
		        'reference' => [
		            '=this.ID' => 'ref.ID',
		        ],		       
		    ]
		];
		$elements2_1  = \Bitrix\Iblock\Elements\ElementAspromaxcatalogTable::getList(
		    [
		        'filter' => $filter,
		        'select' => $select,
		        'runtime' => $runtime,		        
		        'limit' => 5,
		    ]
		)->fetch();


В ответе я получаю

array(29) {
  ["ID"]=>
  string(5) "53408"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_ID"]=>
  string(5) "53408"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_QUANTITY"]=>
  string(1) "0"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_QUANTITY_TRACE"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_WEIGHT"]=>
  string(1) "0"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_TIMESTAMP_X"]=>
  object(Bitrix\Main\Type\DateTime)#4654 (2) {
    ["userTimeEnabled":protected]=>
    bool(true)
    ["value":protected]=>
    object(DateTime)#4653 (3) {
      ["date"]=>
      string(26) "2022-06-20 12:22:08.000000"
      ["timezone_type"]=>
      int(3)
      ["timezone"]=>
      string(13) "Europe/Moscow"
    }
  }
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_PRICE_TYPE"]=>
  string(1) "S"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_RECUR_SCHEME_LENGTH"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_RECUR_SCHEME_TYPE"]=>
  string(1) "D"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_TRIAL_PRICE_ID"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_WITHOUT_ORDER"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_SELECT_BEST_PRICE"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_VAT_ID"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_VAT_INCLUDED"]=>
  string(1) "Y"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_CAN_BUY_ZERO"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_NEGATIVE_AMOUNT_TRACE"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_TMP_ID"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_PURCHASING_PRICE"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_PURCHASING_CURRENCY"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_BARCODE_MULTI"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_QUANTITY_RESERVED"]=>
  string(1) "0"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_SUBSCRIBE"]=>
  string(1) "N"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_WIDTH"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_LENGTH"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_HEIGHT"]=>
  NULL
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_MEASURE"]=>
  string(1) "6"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_TYPE"]=>
  string(1) "1"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_AVAILABLE"]=>
  string(1) "Y"
  ["IBLOCK_ELEMENTS_ELEMENT_ASPROMAXCATALOG_measure_value_BUNDLE"]=>
  string(1) "N"
}


То есть все поля метода Bitrix\Catalog\ProductTable
Как оставить только поле MEASURE ?

Пробовал подставлять в runtime
'select' => [
"MEASURE",
],
И прочие не сработавшие варианты
Подскажите пожалуйста как убрать избыточность
  • Вопрос задан
  • 758 просмотров
Решения вопроса 1
no_one_safe
@no_one_safe
$select = [
        'ID', 'measure_value.MEASURE', 
    ];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы