Php 在laravel 5.1中,如何在模型中运行方法而不是在控制器中运行方法?

Php 在laravel 5.1中,如何在模型中运行方法而不是在控制器中运行方法?,php,laravel,laravel-5,laravel-5.1,Php,Laravel,Laravel 5,Laravel 5.1,我的控制器中有以下方法: public function store() { $data=Input::all(); User::create($data); } User::storedata(); 上面的代码工作得很好。我的问题是,我们可以在模型中运行上述方法而不在控制器中编写代码吗?哪种方法最好?您可以尝试以下方法 在您的模型中 public function insetUser() { $input = Input::all(); Us

我的控制器中有以下方法:

public function store()
{
    $data=Input::all();
    User::create($data);
}
User::storedata();

上面的代码工作得很好。我的问题是,我们可以在模型中运行上述方法而不在控制器中编写代码吗?哪种方法最好?

您可以尝试以下方法

在您的模型中

public function insetUser()
{
        $input = Input::all();
        User::create($input);
    //here instead of User,you can use self like  self::create($input);
}
在控制器中,您可以

public function store()
{
    User::insetUser();
}

你可以试试下面的方法

在您的模型中

public function insetUser()
{
        $input = Input::all();
        User::create($input);
    //here instead of User,you can use self like  self::create($input);
}
在控制器中,您可以

public function store()
{
    User::insetUser();
}

如果它在模型中,您将如何触发它

事实上,这只是一行代码

User::create(Input::all())

这里是模型
User
和方法
create
的实例,其中注入了模型
Input
。当然,您可以设置(model)
User.php

public function storedata()
{
 return $this->create(Input::all());
}
然后在控制器中运行它:

public function store()
{
    $data=Input::all();
    User::create($data);
}
User::storedata();

但是它更好吗?;-)

如果它在模型中,您将如何触发它

事实上,这只是一行代码

User::create(Input::all())

这里是模型
User
和方法
create
的实例,其中注入了模型
Input
。当然,您可以设置(model)
User.php

public function storedata()
{
 return $this->create(Input::all());
}
然后在控制器中运行它:

public function store()
{
    $data=Input::all();
    User::create($data);
}
User::storedata();

但是它更好吗?;-)

在这种情况下,我认为你不会从移动东西中获得太多好处

如果这是您的控制器方法:

public function store()
{
    $data=Input::all();
    User::create($data);
}
那么这是有道理的。输入数据由控制器方法处理,并传递给
用户
模型上的
创建
方法


然而,如果在创建用户记录之前需要更多的逻辑,那么将该逻辑抽象到您的
User
模型中是完全有效的。但就目前的情况而言,我认为您当前的实现是合适的。

在这种情况下,我认为您不会从四处移动中获得太多好处

如果这是您的控制器方法:

public function store()
{
    $data=Input::all();
    User::create($data);
}
那么这是有道理的。输入数据由控制器方法处理,并传递给
用户
模型上的
创建
方法


然而,如果在创建用户记录之前需要更多的逻辑,那么将该逻辑抽象到您的
User
模型中是完全有效的。但就目前情况而言,我认为您当前的实现是合适的。

谢谢您的回复。哪一种是最好的方法?除了验证之外,我不知道当您使用
User::storedata()-我认为“漫长”的道路更加清晰-但这只是我的意见..谢谢。我问这个问题是因为通常模型指的是数据库相关的,控制器就像连接模型和视图。所以为了澄清我问了这个问题,谢谢你的回答。哪一个是最好的方法?除了验证-我不知道什么时候它会工作您可以使用
User::storedata()-我认为“漫长”的道路更加清晰-但这只是我的观点..谢谢。我问这个问题是因为通常模型指的是数据库相关的,控制器就像连接模型和视图一样。所以为了澄清,我问了@violator667所说的这个问题。我也不认为这样做更好或正确。我只是增加了可能性。让我们看看@violator667所说的未来答案。我也不认为这样做更好或正确。我只是增加了可能性。让我们看看未来的答案