запрос доктрины в модели или контроллере? - PullRequest
1 голос
/ 15 марта 2012

Я использую Codeigniter и Doctrine вместе для проекта.Я все настроил с помощью обоих этих инструментов.Но я не уверен, где у меня должен быть этот бит кода:

$query = $em->createQuery('SELECT u FROM sessions u');
$sessions = $query->getResult(); // array of User objects

Должен ли я поместить это в контроллер или в модели / объекты?Сначала я подумал, что мне следует поместить такую ​​логику в модель Sessions, но для этого требуется менеджер сущностей $ em, который, как я думал, должен был быть в контроллере.я с ума сошел за последние полчаса.

1 Ответ

0 голосов
/ 15 марта 2012

Многим людям нравится создавать объекты, называемые DAO или объектами доступа к данным, для хранения этого типа информации.

DAO содержит менеджер сущностей и методы, которые можно вызывать и возвращать нужные вам данные.Например, эта функция должна находиться в DAO:

function findEmployeeById($emp_id)

и содержать запрос, используемый для извлечения сотрудника из базы данных.В вашем контроллере вы бы просто использовали DAO вместо менеджера сущностей и работали с ним на этом уровне.

Но это действительно зависит от предпочтений и размера вашего проекта.

...