【问题标题】:Call Laravel controller action from artisan script从工匠脚本调用 Laravel 控制器动作
【发布时间】:2020-12-26 15:30:26
【问题描述】:

我正在编写一个命令行工匠脚本,并希望利用现有的执行一些复杂计算的操作。

是否可以从 Artisan 脚本调用控制器动作?

【问题讨论】:

  • 当然,但最好将代码从控制器中重构出来
  • 我认为你需要从你的控制器中提取逻辑代码并创建一个服务来简化你的控制器和你的脚本。

标签: laravel laravel-5 laravel-artisan


【解决方案1】:

是的。

app()->call('App\Http\Controllers\MyController@myMethodName');

传递参数:

 $params = ['param1'=>1, 'param2' => '2'];
 $controller = app()->make('App\Http\Controllers\MyController');
 app()->call([$controller, 'myMethodName'], $params);

【讨论】:

  • 如何传递参数?这是一个POST 操作,它需要一个Request 参数和其他一些参数。
  • @guyaloni 我已经更新了我的帖子,介绍了如何传递参数。如果你已经输入了 request,那么你所要做的就是将参数放在 request 对象中。
猜你喜欢
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2017-12-24
  • 2017-12-26
  • 2014-03-19
  • 1970-01-01
  • 2016-04-07
  • 2018-09-08
相关资源
最近更新 更多