Model view controller 模型或控制器中的条令查询?

Model view controller 模型或控制器中的条令查询?,model-view-controller,codeigniter,orm,doctrine,Model View Controller,Codeigniter,Orm,Doctrine,我正在为一个项目使用Codeigniter和Doctrine。我已经用这两种工具把一切都准备好了。但我不确定在哪里应该有这样的代码: $query = $em->createQuery('SELECT u FROM sessions u'); $sessions = $query->getResult(); // array of User objects 我应该把它放在控制器中还是放在模型/实体中?起初,我认为应该将这种逻辑放在会话模型中,但它需要entities manager

我正在为一个项目使用Codeigniter和Doctrine。我已经用这两种工具把一切都准备好了。但我不确定在哪里应该有这样的代码:

$query = $em->createQuery('SELECT u FROM sessions u');
$sessions = $query->getResult(); // array of User objects
我应该把它放在控制器中还是放在模型/实体中?起初,我认为应该将这种逻辑放在会话模型中,但它需要entities manager$em,我原以为应该放在控制器中


谢谢,在过去的半个小时里,这让我抓狂。

很多人喜欢创建名为DAO的对象或数据访问对象来存储此类信息

DAO包含实体管理器和可以调用并返回所需数据的方法。例如,此函数将驻留在DAO中:

function findEmployeeById($emp_id)
它将包含用于从数据库检索员工的查询。在控制器中,您只需使用DAO,而不用实体管理器并在该级别处理它


但这实际上取决于您的偏好以及您的项目有多大。

在codeigniter中,我应该在哪里放置类似于DAO的东西?在模型中,或者作为库的一部分?我不太熟悉codeigniter,但我可能会将其与模型放在一起。