2016-04-26 3 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

спасибо, что это работает ......... –

Смежные вопросы