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所说的未来答案。我也不认为这样做更好或正确。我只是增加了可能性。让我们看看未来的答案