Есть еще 4й вариант - PROPERTY_<CODE> в Select. Вот им и надо пользоваться. Все остальное придет с пониманием и вы сами поймете, где что применяется.
Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли.
Антон Долганин пишет: Есть еще 4й вариант - PROPERTY_<CODE> в Select. Вот им и надо пользоваться. Все остальное придет с пониманием и вы сами поймете, где что применяется.
Этот вариант я подразумевал в 3й способе, может просто немного не правильно написал. Но если какое то свойство удаляется, из инфоблока, а в коде остается, то запрос выполняется очень долго. Т.к не может найти нужное свойство.
Артём Дубинин пишет: Т.к не может найти нужное свойство.
Что-то у вас страшное такое. При отсутствующем поле ничего не ищется и не выводится.
Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли.
Антон Долганин пишет: Есть еще 4й вариант - PROPERTY_<CODE> в Select. Вот им и надо пользоваться. Все остальное придет с пониманием и вы сами поймете, где что применяется.
Этот вариант я подразумевал в 3й способе, может просто немного не правильно написал. Но если какое то свойство удаляется, из инфоблока, а в коде остается, то запрос выполняется очень долго. Т.к не может найти нужное свойство.
в таком случае лучше будет до запроса элементов, выдернуть свойства у инфоблока и сформировать массив $arSelect. это будет меньше запросов нежели вариант 1.
з.ы. Есть вот такая хорошая штука, вдруг не знаете
Антон Долганин пишет: Есть еще 4й вариант - PROPERTY_<CODE> в Select. Вот им и надо пользоваться. Все остальное придет с пониманием и вы сами поймете, где что применяется.
Этот вариант я подразумевал в 3й способе, может просто немного не правильно написал. Но если какое то свойство удаляется, из инфоблока, а в коде остается, то запрос выполняется очень долго. Т.к не может найти нужное свойство.
в таком случае лучше будет до запроса элементов, выдернуть свойства у инфоблока и сформировать массив $arSelect. это будет меньше запросов нежели вариант 1.
з.ы. Есть вот такая хорошая штука, вдруг не знаете
Мне же не всегда надо получать все свойства. А если в arSelect указывать то получается на каждое свойство 1 запрос к базе.
Артём Дубинин пишет: Мне же не всегда надо получать все свойства. А если в arSelect указывать то получается на каждое свойство 1 запрос к базе.
Они мелкие и ими можно пренебречь. Если мы про одни и те же говорим.
Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли.
Антон Долганин пишет: Есть еще 4й вариант - PROPERTY_<CODE> в Select. Вот им и надо пользоваться. Все остальное придет с пониманием и вы сами поймете, где что применяется.
Этот вариант я подразумевал в 3й способе, может просто немного не правильно написал. Но если какое то свойство удаляется, из инфоблока, а в коде остается, то запрос выполняется очень долго. Т.к не может найти нужное свойство.
в таком случае лучше будет до запроса элементов, выдернуть свойства у инфоблока и сформировать массив $arSelect. это будет меньше запросов нежели вариант 1.
з.ы. Есть вот такая хорошая штука, вдруг не знаете
Мне же не всегда надо получать все свойства. А если в arSelect указывать то получается на каждое свойство 1 запрос к базе.
1)пишем массив нужных кодов скойств 2)достаем свойства у инфоблока 3)формируем массив $arSelect с учетом массива(1)
даже выбирая все свойства, это лучше чем извлекать свойства циклом J элементов, по N свойст: 1)1й ваш вариант запросы = J*2 2)2й ваш вариант запросы = J*2 3)3й ваш вариант запросы = N(А если их нужно не все, то и N Будет меньше)+1;