Пытаюсь выполнить такой запрос в yii2:
SELECT
users.phone as phone,
users.id as user_id
FROM
users
WHERE
(SELECT COUNT(*)
FROM cards
WHERE cards.user_id = users.id
AND cards.expires_at > '2018-10-26') = 0
В коде пишу так:
$subQuery = CardsWebFit::find()
->select('COUNT(*) as count')
->where(['cards.user_id' => 'users.id'])
->andWhere(['>', 'cards.expires_at', Date('Y-m-d', strtotime('+1 weeks'))]);
$clientsGroup = UserFitness::find()
->select([
'id' => 'users.id',
'phone' => 'users.phone',
])
->where(['=', $subQuery, 0])
->asArray()
->all();
Пробовал писать строкой, еще по всякому, но в результате такая ошибка:
Что делаю не так?
А зачем тут коррелированный подзапрос? Сделайте так:
SELECT users.phone as phone,
users.id as user_id
FROM users
LEFT JOIN cards ON cards.user_id = users.id
AND cards.expires_at > '2018-10-26'
WHERE cards.user_id IS NULL
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
есть задача реализовать миграции через файл install подскажите можно ли запустить миграции не через консоль а через файл php ?
есть такой массив и функция, при обычном выводе (echo) всё корректно выводится, но при записывании в строку массив записывается в не понятном...
Интересует вопрос, использует ли кто-то API Platform (api-platformcom) на реальных проектах в продакшене? Или хотя бы ведется какая-то разработка на нем?