在Laravel中我可以创建一个没有新的模型实例吗?

时间:2016-02-26 16:13:14

标签: php laravel

例如: 您可以创建User的新模型实例:

new App\Model\User()

但是当我在刀片视图中使用它时,看起来像:

new App\Model\User()->..->...

我认为这不是一个好方法。它不那么优雅。 所以我想添加一些方法来实现我在刀片视图中可以使用的方法:

User::instance()->..->...

我怎样才能做到这一点?非常感谢!

感谢您的帮助。我知道在刀片视图中调用模型不是一个好方法。但在某些情况下,有时我仍然有机会在刀片视图中调用模型以方便。 例如,在创建刀片表单中,通常使用如下:

{!!Form::model(new App\Model\User, ['url' => '/', 'class' => 'form' ])!!}

因此有机会在刀片视图中使用模型。所以我想找到一种优雅的方式来获取Model的实例而不是使用新的App \ Model \ ModelName ... 喜欢

User::instance() 

获取\ App \ Model \ User的新实例。

模型中的scopeQuery可以工作吗?

1 个答案:

答案 0 :(得分:1)

首先,如果您了解MVC的概念,您应该知道模型,视图和控制器之间的关系。

作为中间人的控制器应该将适当的数据传递给您的视图。

这是在Laravel中更好的方法。

你的控制器:

use App\Model\User;
class AccountController extends Controller{

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


        public function profile(){
               return view('profile, ['user'=>$this->user]);
        }

 }

然后在你看来,profile.blade.php

 Welcome {{$user->name}}