Новая технология Битрикс, которая появилась уже достаточно давно, позволяет легко и просто начать обращаться к вашей собственной таблице СУБД методами, к которым вы привыкли раз и навсегда. Но если вы еще не знаете этой технологии, или она вас пугает, то вам сюда.
3 маленьких вопроса как:
1. Выполнить сортировку ReferenceField? Пример: таблица вопросов и таблица - по нескольку ответов на каждый вопрос. Делаем массив вопросов с ответами, но у таблицы ответов есть поле SORT.
2. Через runtime выполнить арифметическую операцию (в том числе над полями ReferenceField)? Например присоединяемое поле разделить на переменную (курс валюты).
3. Изменить имена подключаемых полей (и/или положить во вложенный массив при одном значении)?
В инструкции следующий тезис ясности не дал:
"При частом использовании поля соседней сущности можно воспользоваться ExpressionField и определить удаленное поле как локальное: new Entity\ExpressionField('AUTHOR_NAME', '%s', 'AUTHOR.NAME')"
Префикс добавить можно, указав в select ("префикс" => "имя поля";).
Вебинаров в продолжение D7 пока не случилось, к сожалению. Отвеачаю тут.
1. Эту задачу я не смог решить даже на чистом мускуле. Задача была похожая - вывести список топиков форума, и для каждого приплюсовать первое сообщение в топике. Скорее всего через процедуры или еще как. В общем, не plain mysql точно. И уж точно на вряд ли ложится.
В любом случае, с точки зрения оптимизации я бы рекомендовал все же два разных запроса. Возможно, поэтому задача сложно решаема даже в mysql.
3. Разве ключ column_name не то? Про него я говорил в вебинаре и он есть в презентации.
1. Выполнить сортировку ReferenceField? Пример: таблица вопросов и таблица - по нескольку ответов на каждый вопрос. Делаем массив вопросов с ответами, но у таблицы ответов есть поле SORT.
2. Через runtime выполнить арифметическую операцию (в том числе над полями ReferenceField)? Например присоединяемое поле разделить на переменную (курс валюты).
3. Изменить имена подключаемых полей (и/или положить во вложенный массив при одном значении)?
В инструкции следующий тезис ясности не дал:
"При частом использовании поля соседней сущности можно воспользоваться ExpressionField и определить удаленное поле как локальное: new Entity\ExpressionField('AUTHOR_NAME', '%s', 'AUTHOR.NAME')"
Префикс добавить можно, указав в select ("префикс" => "имя поля";).
1. Эту задачу я не смог решить даже на чистом мускуле. Задача была похожая - вывести список топиков форума, и для каждого приплюсовать первое сообщение в топике. Скорее всего через процедуры или еще как. В общем, не plain mysql точно. И уж точно на вряд ли ложится.
В любом случае, с точки зрения оптимизации я бы рекомендовал все же два разных запроса. Возможно, поэтому задача сложно решаема даже в mysql.
3. Разве ключ column_name не то? Про него я говорил в вебинаре и он есть в презентации.