2016-06-20 4 views
0

Я установка Lumen с доктриной (Laravel-доктрина/ORM)Lumen + Doctrine FindAll возвращает массив пустых объектов

Когда я пытаюсь получить результаты (т.е. $ this-> em-> getRepository (Student :: class) -> findAll();) в HTTP-маршруте, я получаю массив пустых фигурных скобок.

Как я могу выполнить сериализацию правильно?

ответ

1

Во-первых, вам нужно обернуть свой результат с Illuminate\Support\Collection класса, что-то вроде:

use Illuminate\Support\Collection; 

return Collection::make(
    $this->em->getRepository(Student::class)->findAll() 
); 

После этого, изменить свой Student класс, назначив его Illuminate\Contracts\Support\Arrayable контракта.

use Illuminate\Contracts\Support\Arrayable; 

class Student implements Arrayable 
{ 
    // Your code here 
} 

Далее следует реализовать метод toArray к вашему Student класс:

Смежные вопросы