Я использую QueryBuilder в мой контроллер для приема данных и выход как JSON:Symfony - QueryBuilder в контроллере
$qb = $this->getDoctrine()->getManager();
$qb = $qb->createQueryBuilder();
$qb->select('c')
->from('AppBundle:Customer\Customer', 'c');
$data = $qb->getQuery()->getResult();
$response = new JsonResponse();
$response->setData(
[
'data' => $data
]
);
return $response;
Мой Entity находится в пространстве имен:
namespace AppBundle\Entity\Customer;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Table(name="customer")
* @ORM\Entity(repositoryClass="AppBundle\Entity\Customer\Repository")
*/
class Customer {
....
Есть две записи, сохраненные в Таблица.
Когда я загружаю URL-адрес, он просто печатает два пустых массива и никаких данных.
Любой может объяснить, почему?
объектов не будут автоматически сериализованными. замените getResult с помощью getArrayResult http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#query-result-formats Позже вы захотите прочитать на сериализаторах: http://symfony.com/doc/current/components/serializer.html или http://php.net/manual/en/class.jsonserializable.php – Cerad