У меня проблема, что у меня есть два контроллера. Один из них - это резервный контроллер, который обрабатывает только данные json
и возвращает JsonModel
, а другой - контроллер по умолчанию, который возвращает ViewModel
Теперь у меня есть проблема, что мой метод возвращает только array
объектов, что является правильным для значения по умолчанию контроллер, но мой restful контроллер нуждается в объектах в виде массива. Как я могу справиться с этим?Результат репозитория ZF2 Doctrine2 как массив
MealController
class MealController extends AbstractRestfulController {
protected $mealService;
public function getList() {
$meals = $this->mealService->getAllMeals();
return new JsonModel($meals);
}
}
MealService
class MealService {
protected $mealRepository;
public function getAllMeals() {
return $this->mealRepository->findAll();
}
}
MealRepository
class MealRepository extends EntityRepository {
public function findAll() {
$queryBuilder = $this->createQueryBuilder('meal')
->orderBy('title');
return $queryBuilder->getQuery()->getResult();
}
}
Array Hydration выглядит хорошо, но в этом случае метод всегда возвращает массив. Но также кажется странным добавить параметр $ hydration в мой метод обслуживания «getAllMeals» и метод репозитория «findAll», или это будет правильным? Итак, у меня было бы: 'public function getAllMeals ($ hydration = Doctrine \ ORM \ Query :: HYDRATE_OBJECT); public function findAll ($ hydration = Doctrine \ ORM \ Query :: HYDRATE_OBJECT); ' –
Я не знаю, есть ли лучший способ, но да, вы могли бы это сделать, это не так сильно ;-) – blackbishop
Ok I ' Я сделаю так! Благодаря ;-) –