@ksl1980

Как в Yii2 сделать выборку с подсчетом суммы в связанной таблице?

Есть 2 таблицы: user и transaction. Связь один ко многим (1 пользователь – много транзакций). В таблице transaction есть поле 'amount' и связывающее поле с таблицей user - user_id.

Нужно сделать выборку пользователей и подгрузить связанную таблицу transaction. При этом в свойстве amount таблицы transaction должна быть сумма всех строк 'amount' каждого отдельного пользователя. Условие - не отбирать пользователей у которых сумма по полю 'amount' равна 0.

Пример sql:
SELECT * FROM (
        SELECT user.*, (SELECT SUM(amount) FROM transaction WHERE user_id = user.id) AS balance FROM user
    ) t WHERE balance != 0


Нужно плучить ActiveQuery, т.е.:
$usersQuery = User::find()
            ->with(...)
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Arassir
Программист PHP/JS
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы