Я пытаюсь использовать расширение доктрины SUBSTRING_INDEX для выбора всех переводов, которые были сделаны с номера счета, используя приведенный ниже запрос. t.fromAccount — это текстовое поле, например. «Текущий счет Gold — 25547845965851». Номер счета после тире.
public function findTransfersByAccountNumber($accountNumber)
{
$qb = $this->getTransferQuery()
->leftJoin('t.customer', 'c')
->where("SUBSTRING_INDEX(t.fromAccount, '-', -1) = :accountNumber")
->orderBy('t.dateCreated','DESC')
->setParameter('accountNumber',$accountNumber);
return $qb->getQuery()->getResult();
}
Но доктрина выдает эту ошибку «[Синтаксическая ошибка] строка 0, столбец 117: Ошибка: ожидаемый литерал, получено '-'». Как ни странно, если я изменяю -1 на 1, он работает без ошибок, но ничего не возвращает.
Может ли кто-нибудь указать мне в правильном направлении?