Laravel - ORM - 呼叫记录

时间:2014-12-10 03:30:54

标签: php laravel

我有一个问题,哪个是更好的做事方式。

控制器

public function __construct(User $user)
{
    $this->users = $user;
    ........................
}        

public function index()
{
    $users = array();

    //I did this, cause a user class has been instantiated already in the construct function.
    $users = $this->users->all();  

    //This is what I read on the docs, static method of calling records
    $users = User::all();         
}

问题在于拉拉维尔的做事方式是什么?

1 个答案:

答案 0 :(得分:0)

我会说$users = User::all()是更多Laravel式的方式。

我还会质疑该构造函数中的代码。您要求容器传入用户(单数),然后将其分配给名为$users的复数属性。对我来说似乎有点狡猾!

举例来说,我的控制器构造函数通常如下所示:

public function __construct(UserRepository $userRepository)
{
    $this->userRepository = $userRepository;
    ...
}

我的一般目标是在控制器中保留尽可能少的代码,并使存储库和其他业务对象完成繁重的任务。