Есть рабочий запрос:
SELECT DISTINCT(`id_timestamp`) as `ids`, (SELECT COUNT(*) FROM `test_user_aswer` WHERE `id_timestamp` = `ids`) as `c` FROM `test_user_aswer` WHERE `id_user`='2'
Как с помощью ActiveRecord его записать?
Пробовал так:
$query = UserAnswer::find();
$times = $query->select([
'ids' => 'id_timestamp',
'c' => $query->select(['COUNT(`id_timestamp`)'])->where(['id_timestamp' => 'ids'])->createCommand()->getRawSql()
])
->distinct()
->where(['id_user' => $id_user])
->asArray()
->all();
Но выдает ошибку, что не правильный запрос
Доброй ночи.
Запросы можно объединить.
$query1 = (new \yii\db\Query())
->select("id, category_id AS type, name")
->from('post')
->limit(10);
$query2 = (new \yii\db\Query())
->select('id, type, name')
->from('user')
->limit(10);
$query1->union($query2);
Можно объединить через join
$query->leftJoin('post', 'post.user_id = user.id');
В ActiveRecord тоже всё это можно использовать.
$customers = Customer::find()
->select('customer.*')
->leftJoin('order', '`order`.`customer_id` = `customer`.`id`')
->where(['order.status' => Order::STATUS_ACTIVE])
->with('orders')
->all();
Подробности тут и тут.
В общем решил данный вопрос, проблема была в том, что YII не брал в дужки запрос в SELECT. Сделал так:
$query = UserAnswer::find();
$times = $query->select([
'ids' => 'id_timestamp',
'c' => '('.$query->select(['COUNT(`id_timestamp`)'])
->where('`id_timestamp` = `ids`')
->createCommand()
->getRawSql().')'
])
->distinct()
->where(['id_user' => $id_user])
->asArray()
->all();
Всем спасибо!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На вход обработки multi curl подаю массив из ссылок, файлы по которым весят в среднем 300-500кбНо проблема в том что,например, при сотне ссылок курл...
Всем привет! Пишу api, задача выдать файл pdf на скачиваниеФайл скачивается, но в конец дописывается текст: © Copyright 2013 - 2018 by Zend Technologies Ltd
Номер и имя человека мне приходит в datatxt, но прикрепленные файлы не приходят, опишите пожалуйста подробно что сделать что бы они тоже приходили