Symofny - сумма запроса - PullRequest
       4

Symofny - сумма запроса

0 голосов
/ 20 ноября 2018

Я пишу запрос, который вернет сумму потраченных денег для этого пользователя.Всего потрачено = сумма всех транзакций, где тип = потратить.Я установил поле типа в базе данных как "потратить" ..

Возвращает

Неверный параметр: тип токена не определен в запросе.

Мой код.

public function getTotal(User $user, $type)
{
    $query = $this->getSpendingRepository()
        ->createQueryBuilder('p')
        ->select("sum(p.amount) as total_amount")
        ->where('p.type = :spend')
        ->andWhere('p.user = :user')
        ->setParameters(['user' => $user,
                         'type' => $type])
        ->getQuery()
        ->getOneOrNullResult();

    return $query;
}

, и это sql, который работает, поэтому я не знаю, что я делаю неправильно ..

select user_id, sum(amount) as amount
from transaction
where type = 'spend'
group by user_id

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Я это исправил.

 public function getTotalSpent(User $user, $type = 'spend')
{
    $query = $this->getTransactionRepository()
        ->createQueryBuilder('p')
        ->select("sum(p.amount) as total_amount")
        ->where('p.type = :type')
        ->andWhere('p.user = :user')
        ->setParameters(['user' => $user,
                         'type' => $type])
        ->getQuery()
        ->getOneOrNullResult();

    return $query;
}
0 голосов
/ 20 ноября 2018

Заменить

->where('p.type = :spend')

на

->where('p.type = :type')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...