Константы в select (Query Builder)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
cvl
Сообщения: 25
Зарегистрирован: 2015.03.02, 08:42
Контактная информация:

Константы в select (Query Builder)

Сообщение cvl »

Как задать в качестве выбираемого значения константу?

По логике с обычными SQL-запросами пишу:

Код: Выделить всё

->select('id, title, created_at, 0 as numberLastComment, 0 as countComments, "" as authorLastComment')
Возникает ошибка:
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list'
Решил проблему так:

Код: Выделить всё

->select('id, title, created_at, ROUND(0) as numberLastComment, ROUND(0) as countComments, TRIM("") as authorLastComment')
Но это как-то костыльно... Есть правильный путь?
Последний раз редактировалось cvl 2015.07.09, 13:56, всего редактировалось 2 раза.
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Константы в select (Query Builder)

Сообщение vitalik1183 »

Код: Выделить всё

->select(['count' => 'COUNT(*)'])
Yii2!
cvl
Сообщения: 25
Зарегистрирован: 2015.03.02, 08:42
Контактная информация:

Re: Константы в select (Query Builder)

Сообщение cvl »

vitalik1183
Не понял ответ. Если вы про то, что количество можно посчитать COUNT, то мне об этом известно. Если про то, что вместо ROUND можно использовать COUNT, то это те же яйца, только в профиль.
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Константы в select (Query Builder)

Сообщение vitalik1183 »

Я вам написал как сделать запрос вида

Код: Выделить всё

COUNT(*) AS `count` 
Возможно я вас не корректно понял.
Yii2!
cvl
Сообщения: 25
Зарегистрирован: 2015.03.02, 08:42
Контактная информация:

Re: Константы в select (Query Builder)

Сообщение cvl »

vitalik1183
Вопрос был про константы (в качестве столбцов), которые не нужно вычислять. Например: 0.
P.S. Константы нужны для построения однотипной структуры (потом результаты двух запросов объединяются через union).
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Константы в select (Query Builder)

Сообщение vitalik1183 »

Тогда пардон, неверно понял вопрос.
Yii2!
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Константы в select (Query Builder)

Сообщение ElisDN »

Код: Выделить всё

->select([
    'id',
    'title',
    'created_at',
    'numberLastComment' => new Expression(0),
    'countComments' => new Expression(0),
    'authorLastComment' => new Expression('""'),
]) 
cvl
Сообщения: 25
Зарегистрирован: 2015.03.02, 08:42
Контактная информация:

Re: Константы в select (Query Builder)

Сообщение cvl »

ElisDN, rommcr
Понятно, спасибо.
Ответить