У меня есть следующий код в моем якорный тег в моем приложении laravel:
<a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a>
Мой маршрут настроен на запуск следующего метода при нажатии на ссылку выше:
public function showQualityResult($qualityData) { return $qualityData; // return view('quality-result' , compact($qualityData)); }
Теперь, когда я нажимаю на ссылку, я получаю следующую ошибку:
Почему я получаю ошибку Missing argument 1
когда я явно передаю данные в качестве параметра в теге, как показано ниже:
<a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a>
Почему параметр не передается методу?
Ваш маршрут из предыдущего вопроса:
Route::get('/showQualityResult', 'QualityCheckController@showQualityResult');
Чтобы передать параметр, вы должны определить его. Итак, это будет выглядеть так:
Route::get('showQualityResult/{data}', 'QualityCheckController@showQualityResult');
showQualityResult()
должен принять его:
public function showQualityResult($data) { ....
Я бы рекомендовал вам прочитать документы, чтобы понять, как это работает.