雄辩的ORM控制器或模型

时间:2014-07-17 07:29:50

标签: php activerecord laravel orm eloquent

我正在编写一个Web应用程序,我是一个自称无组织的开发人员,我快速写东西,后来担心维护。我目前正在使用laravel,我有很多数据库交互,所有雄辩的例子似乎都直接在控制器中与数据库对象进行交互。这是最好的选择,还是更有条理地将这些雄辩的方法包装在模型中用于相关查询的函数中。 e.g。

class HomeController extends \BaseController {

    public function index()
    {
         $user = User::find(1);
         return $user;
    }

}

这会更好地服务,

class HomeController extends \BaseController {

    public function index()
    {
         $user = new User;
         $result = $user->getSingleUser(1); //Being a method in the User.php model
         return $result;
    }

}

我意识到这是非常非常基本的例子,但出于组织目的,最好是将数据库和“业务逻辑”从控制器中分离出去?

2 个答案:

答案 0 :(得分:1)

  

但出于组织目的,最好分开数据库   和"业务逻辑"远离控制器?

  

这会更好地服务,

是的 - 您应该将逻辑分成正确的区域,以使代码更易于管理。

答案 1 :(得分:0)

这就是MVC模式的原因。将您的数据库请求存储在内部,如果您愿意,也可以将模型层与数据库层分开。如果你更多地解耦你的应用程序结构,那么代码就更易于管理。