Я новичок в Symfony, и у меня проблема с существующим приложением, которое я поддерживаю.
В одном из репозиториев есть метод выбора неудачных транзакций и соответствующего платежа.
Теперь они попросили меня разрешить фильтровать транзакции на основе общего количества неудачных транзакций, которое может быть либо 1
неудачной транзакцией, либо 2
.
Что я пытаюсьсделать в построителе запросов, что-то вроде этого:
$this
->createQueryBuilder('t')
->join('t.payment', 'p')
->leftJoin( Transaction::class, 'tr', Query\Exprt\Join::WITH, 'p.id = tr.payment')
->groupBy('tr.id');
До этого момента все в порядке.Запрос выполняется нормально, и я вижу нужные мне транзакции.
Теперь проблема в том, что я не могу использовать следующий оператор:
$this
->createQueryBuilder('t')
// This is the column I need to insert
->addSelect('COUNT(tr.id) AS TotalRecords')
->join('t.payment', 'p')
->leftJoin( Transaction::class, 'tr', Query\Exprt\Join::WITH, 'p.id = tr.payment')
->groupBy('tr.id');
Поскольку выходные данные выглядят так:
array:1 [▼
0 => array:2 [▼
0 => Transaction {#1221 ▶}
"TotalRecords" => "1" <- This is the total transactions number I need
]
]
Вместо вышеприведенного вывода мне нужно иметь TotalRecords
внутри объекта Transaction
.
Итак, есть ли способ добиться этого с помощью построителя запросов?Вы думаете, я что-то не так делаю?