我正在将Codeigniter和Doctrine一起用于项目。我已经用这两种工具设置了所有东西。但我不确定我应该在哪里获得这些代码:
$query = $em->createQuery('SELECT u FROM sessions u');
$sessions = $query->getResult(); // array of User objects
我应该将它放在控制器中还是模型/实体中?首先想到的是,我认为我应该将这种逻辑放在Sessions模型中,但它需要实体管理器$ em,我原本认为它应该在控制器中。
谢谢,这让我在过去的半小时里疯狂了。
答案 0 :(得分:0)
许多人喜欢创建名为DAO或数据访问对象的对象来存储此类信息。
DAO包含可以调用的实体管理器和方法,并返回所需的数据。例如,此函数将驻留在DAO中:
function findEmployeeById($emp_id)
它将包含用于从数据库中检索员工的查询。在您的控制器中,您只需使用DAO而不是拥有实体管理器并在该级别处理它。
但这实际上取决于偏好和项目的大小。