使用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函數中?你能指點我正確的方向嗎?一些操作系統代碼會很棒。
謝謝!