这是我第一次尝试创建一个artisan命令,它应该负责执行另一个php函数。到目前为止我所做的就是用php artisan command:make PutItemsBackInStock
创建命令并为命令创建骨架。另外,我在app/start/artisan.php
中添加了命令,因此Laravel知道它。
然后在PutItemsBackInStock
文件中我声明了一个私有函数:
private function updateItemQty() { ... }
在public function fire()
下我试着称之为:
$this->updateItemQty();
这可能不是正确的方法,而我收到了这个错误:
[RuntimeException]没有足够的参数。
然后我删除了受保护函数getArguments() and getOptions()
的块,这些块删除了该错误但仍未触发该函数。
问题是:如何获得工匠命令来执行另一个功能?
答案 0 :(得分:2)
看起来好像你没有正确设置参数。你需要让你的命令设置如下:
protected $name = 'your:command';
public function fire()
{
$this->updateItemQty();
}
protected function getArguments()
{
return [];
}
protected function getOptions()
{
return [];
}
private function updateItemQty() { ... }