laravel console - 自定义命令

更新日期: 2019-01-17 阅读次数: 10749 分类: Laravel

在改造一个支付流程,新的流程加入了一个新的数据表字段,但是这个新的字段需要通过计算来填充,所以为了兼容历史数据,必须将已有的数据行重新计算一遍该字段。

这时使用 laravel console 命令就非常方便,因为可以共用 .env 中的数据库连接配置,以及定义好的 model。

自动创建 console 命令类

php artisan make:command YourCommand

这时会看到目录

app/Console/Commands

下多了一个新的命令类,在 handle 中写计算逻辑即可。

console 命令类的几个必填项

  • signature 命令名及参数指定
  • description 命令描述
  • handle 即逻辑部分

在 console 中输出日志

$this->info('Display this on the screen');

获取命令行参数

示例

protected $signature = 'order:sub {order_id}';

public function handle()
{
    $order_id = $this->argument('order_id');
     OrderController::pseudo_sub_orders($order_id);
}

参考

https://laravel.com/docs/5.6/artisan#introduction

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式