Я, вероятно, что-то не замечаю, но не понимаю, почему я не получаю никаких результатов от Doctrine2 DQL. Он не прерывается, но возвращает пустые объекты. Параметры Symfony2 установлены правильно, и я знаю, что база данных запрашивается с соответствующим SQL (путем регистрации SQL-запросов в MySQL).Doctrine2 запрос не заполняет объект объекта
Контроллер с код не работает:
public function debugAction() {
$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder();
$account = $qb->select('a')
->from('SkiviBundle:Account', 'a')
->where('a.id = :id')
->setParameter('id', 5)
->getQuery()->getResult();
return new \Symfony\Component\HttpFoundation\JsonResponse(array(
'dql' => $qb->getDql(),
'sql' => $qb->getQuery()->getSQL(),
'params' => $qb->getQuery()->getParameters(),
'account' => $account
));
}
Вот ответ JSON я получаю, показывая, что возвращаемый объект пуст. Я даже не возвращаю параметры.
{
"dql":"SELECT a FROM SkiviBundle:Account a WHERE a.id = :id",
"sql":"SELECT a0_.id AS id0, a0_.business AS business1 FROM account a0_ WHERE a0_.id = ?",
"params":{},
"account":[{}]
}
Я знаю, что SQL успешно выполнен с использованием базы данных. Как заставить Doctrine2 заполнить возвращаемый объект ($ accounts) как объект объекта? Приложение My Symfony2 является стандартным (создается без дополнительных конфигураций, за исключением добавления сущностей и контроллеров и параметров обновления для доступа к базе данных.
похоже, увлажняющим к объекту, что происходит сбой Когда я называю ** GetResult() **, как это:. $ запроса -> getResult (\ Doctrine \ ORM \ Query :: HYDRATE_ARRAY) он возвращает массив со всеми свойствами, как ожидалось. Как вернуть объект сущности, который я могу изменить и сохранить снова? – Jubz