#laravel
#laravel
Вопрос:
У меня есть функция контроллера, в которой он вызывает мне команду, в которой я должен передать ему список проектов, которые были назначены для перевода, чтобы он искал меня в другой таблице и регистрировал их как повторяющиеся контакты.
Проблема в том, что я не могу выполнить команду, которая всегда выдает мне ошибку, и я сделал ссылку и ничего.
Это вызывает у меня проблемы, потому что я хочу передать параметры команде.
Контроллер
public function syncTranslate(Request $request,Project $project){
$this->authorize('update translate', TranslateProject::class);
$translateWithouthProyect = TranslateProject::filterData()->get();
Artisan::call('fidelizaleads:quotesWithoutProjects',$translateWithouthProyect);
exit;
return redirect()->route('translate.index')->with(notify()->success($count .' traducciones fueron añadidas al proyecto '. $project->name));
}
Команда
protected $signature = 'fidelizaleads:quotesWithoutProjects';
protected $translate;
/**
* Create a new command instance.
*
* @return void
*/
public function __construct($translate)
{
parent::__construct();
$this->translate = $translate;
}
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
Quote::executeQuoteTranslation($this->translate);
}
И это сообщение об ошибке, которое он мне выдает
Ответ №1:
Я должен был бы догадаться, что вы передаете коллекцию в качестве второго аргумента call
. Вам нужно будет запросить эту коллекцию для базового массива:
Artisan::call('fidelizaleads:quotesWithoutProjects', $translateWithouthProyect->toArray());
Вы можете использовать toArray()
в коллекции, чтобы получить массив.
Хотя я не уверен, что будет делать передача этого массива, поскольку у вас нет никаких параметров для этой команды, а массив обычно представляет собой ассоциативный массив.
Комментарии:
1. Если это массив объектов, это похоже на SELECT * FROM TRANSLATE, ГДЕ PROJECT_ID РАВНО НУЛЮ; @lagbox
2. что это за объект? поскольку вы не можете передать объект в качестве второго параметра… и ваша команда не принимает параметры
3. Я не знаю, как добавлять параметры к командам, когда я впервые работаю с ними.?
4. laravel.com/docs/8.x/artisan#defining-input-expectations ознакомьтесь с этой частью документов или версией документа, какую бы версию вы ни использовали