2016-04-26 73 views
2

我是laravel新手。我試圖在我的測試項目中創建一個自定義的artisan命令來創建表格。我遵循this link,但我的命令不在工匠列表中。事件我嘗試了在該鏈接中給出的相同示例,但它也沒有工作。我不知道爲什麼會發生。Artisan控制檯命令不工作在5.1

我這樣做:

1)運行此命令php artisan make:console SendEmails

2)將完整的類代碼app/Console/Commands/SendEmails.php文件

<?php 

namespace App\Console\Commands; 

use App\User; 
use App\DripEmailer; 
use Illuminate\Console\Command; 

class SendEmails extends Command 
{ 
    /** 
    * The name and signature of the console command. 
    * 
    * @var string 
    */ 
    protected $signature = 'email:send {user}'; 

    /** 
    * The console command description. 
    * 
    * @var string 
    */ 
    protected $description = 'Send drip e-mails to a user'; 

    /** 
    * The drip e-mail service. 
    * 
    * @var DripEmailer 
    */ 
    protected $drip; 

    /** 
    * Create a new command instance. 
    * 
    * @param DripEmailer $drip 
    * @return void 
    */ 
    public function __construct(DripEmailer $drip) 
    { 
     parent::__construct(); 

     $this->drip = $drip; 
    } 

    /** 
    * Execute the console command. 
    * 
    * @return mixed 
    */ 
    public function handle() 
    { 
     $this->drip->send(User::find($this->argument('user'))); 
    } 
} 

請幫幫我,讓我知道我在做什麼錯誤。

+1

您應該刪除'javascript'標籤,因爲它與此問題無關。 –

回答

4

你只是忘了註冊您的命令

該零件:https://laravel.com/docs/5.1/artisan#registering-commands

打開app/Console/Kernel.php並在$commands數組中添加命令類。

這樣的:

protected $commands = [ 
    Commands\SendEmails::class 
]; 

就是這樣。

+0

感謝它的工作......... –