Доктрина не может найти столбец (Ошибка: [столбец] не определен.) - PullRequest
0 голосов
/ 02 июля 2018

У меня есть следующий источник:

//$enity = 'Company:CompanyResourceModel';
public function getAll($entity, $filter = null){
    $qb = App::DB()->createQueryBuilder();
    $data = $qb ->select('r')
        ->from($entity, 'r')
        ->where($this->getExpression($qb, $qb->expr()->andX(), $filter))
        ->getQuery()
        ->getArrayResult();

    if ( is_array($data) && !empty($data) ) {
        return $data;
    }
    return [];
}

где App :: DB () содержит мой EntityManager, а getExpression () отсюда https://github.com/tarlepp/symfony-flex-backend/blob/c979e816ed5c4d02de2e857885a4b47f7e42d71e/src/Rest/RepositoryHelper.php#L152-L232

Как бы то ни было, я продолжаю получать следующую ошибку

Type: Doctrine\ORM\Query\QueryException
Message: [Semantical Error] line 0, col 51 near 'week = ?1': Error: 'week' is not defined.

'week' - это существующий столбец моей таблицы, который определен в данной сущности как

/**
 * @ORM\Column(type="integer")
 */
protected $week;

Может кто-нибудь сказать мне, где я иду не так или, по крайней мере, указать мне в правильном направлении? заранее спасибо!

1 Ответ

0 голосов
/ 02 июля 2018

Согласно комментариям,

Вы должны ссылаться на свойство сущности с псевдонимом сущности r, как

->where('r.'.$this->getExpression($qb, $qb->expr()->andX(), $filter))
...