doulu1325 2015-03-20 07:01
浏览 38
已采纳

Laravel 4 - 创建工匠命令

This is my first attempt to create an artisan command, which should be responsible for executing another php function. All I did so far is to create the command with: php artisan command:make PutItemsBackInStock and created the skeleton for the command. Also, I added the command in app/start/artisan.php so Laravel knows about it.

Then in PutItemsBackInStock file I declared a private function:

private function updateItemQty() { ... }

And under the public function fire() I tried to call it:

$this->updateItemQty();

This is probably not the right way to do it, while I got that error:

[RuntimeException] Not enough arguments.

Then I removed the blocks for the protected functions getArguments() and getOptions() which removed that error but still the function is not firing.

The question is: How can I get an artisan command to execute another function?

  • 写回答

1条回答 默认 最新

  • dongyounai6281 2015-03-20 07:28
    关注

    It looks as though you've not set the arguements correctly. You need to have your command setup something like this:

    protected $name = 'your:command';
    
    public function fire()
    {
        $this->updateItemQty();
    }
    
    protected function getArguments()
    {
        return [];
    }
    
    protected function getOptions()
    {
        return [];
    }
    
    private function updateItemQty() { ... }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?