当使用 MVC 框架并使用模型从控制器查询数据库时,最佳实践是什么?
模型是否应该提供一个非常灵活的功能来允许控制器查询数据库?就像来自控制器的调用一样:
User->find ([
{
or => [
{field => 'name', value => 'john', op => '~' },
{
and => [
{ field => 'organization', value => 'acme', op => '~' },
{ field => 'city', value => 'tokyo', op => '=' }
]
}
],
});
}
或者模型是否应该有一个严格的 API,从而导致如下调用:
User->find_john_or_people_from_acme_in_tokyo();
最好的方法是什么?SQL 是否应该遍布整个模型?还是包含在一个 queryFactory 函数中?你能指出我正确的方向吗?一些操作系统代码会很棒。
谢谢!