Laravel - 在控制器或模型中查询构建?适用于大型网络应用

时间:2014-02-25 01:53:28

标签: php laravel laravel-4

快速提问,我正在学习Laravel 4,因为我来自Codeigniter,我注意到一些laravel教程在控制器中有他们的查询,有些在模型中有他们的查询。

我的问题是,我们应该在哪里编写所有查询以获得最佳实践?在控制器或型号?这适用于大型Web应用程序。

非常感谢

1 个答案:

答案 0 :(得分:2)

最佳做法是在单独的图层中编写查询。因此与您的控制器分开,并与您的模型分开。控制器最佳实践还取决于项目的规模和您对可维护性的具体要求。

只要您扩展项目,尝试提取更多,因此可维护性不是问题。在用户模型周围的查询之间的层可以看起来像:

class UserRepository {

    public function __construct(Illuminate\Database\DatabaseManager $db)
    {
        $this->db = $db;
    }

    public function getLatestUsers($limit = 5) {
        //$this->db->table('users')->
    }

}

有关更多最佳做法,您应该查看围绕laravel创建的所有资源。像