Здравствуйте, это мой контроллер:
public function getValues(Request $request){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$view = 'user.'.$stellentyp;
return view($view,['typ' => $typ, 'stellentyp', $stellentyp, 'bereich', $bereich]);
}
Я хочу, чтобы пользователь мог выбрать «stellentyp», а затем отобразить представление с этим «stellentyp».
Но у меня проблема с моими маршрутами, они не знают переменную "stellentyp". Как я могу связать свой контроллер с моими маршрутами?
Я пробовал это
Route::post('user/{$stellentyp}', 'StartController@getValues')->name('user.{$stellentyp}');
но не работает :(. Ошибка:
Missing required parameters for [Route: user] [URI: user/{$stellentyp}]. (View: C:\xampp\htdocs\j4ylara\resources\views\user\start.blade.php)
Вы можете прочитать laravel.com/docs/5.6/routing#route-parameters
Убедитесь, что вы все написали в вопросе, а не в комментариях. Вы можете редактировать уже опубликованный вопрос.






Route::post('user/{stellentyp}', 'StartController@getValues')->name('user.values');
Чтобы добавить переменную внутри пути маршрута, вам не нужно использовать сигнал доллара для ее объявления. Проверьте код выше. Также имя маршрута не нужно назначать динамически.
в маршрутах laravel вам не нужен знак $ для переменной , удалите знак $ и снова проверьте свой маршрут, он должен работать ...
Route::post('user/{stellentyp}', 'StartController@getValues')->name('user.stellentyp');
и добавьте $ stellentype во ввод метода контроллера следующим образом:
public function getValues(Request $request,$stellentype)
Параметр маршрута полностью отличается от параметров POST.
когда вы отправляете параметр сообщения, он должен быть в вашей форме как поле ввода или выбора и т. д., тогда вы можете поймать их в контроллере с помощью метода get() из $ request (экземпляр класса Request)
public function getValues(Request $request){
$request->get("post")
}
Но параметр маршрута не отправляется в форме, мы отправляем их следующим образом
в файле лезвия
<form action = "{{route("user.values",$user_id)}}">
в файле маршрута
Route::post('user/{id}', 'StartController@getValues')->name('user.{$stellentyp}');
и поймать их в контроллере как параметр функции
public function getValues(Request $request,$user_id){
dd($user_id);
}
Я отправляю параметр post, перехватываю его в своем контроллере и сохраняю в переменной с именем $ stellentyp. и теперь я хочу, чтобы когда я выбирал "Stellentyp", он показывал мне это представление: www.test / $ stellentyp.com вот так, но я не знаю
я должен передать параметр в моем контроллере или в моих маршрутах? потому что у меня есть поле выбора, и я хочу что-то фильтровать, поэтому я хочу сохранить его в переменных
а где взять user_id? у меня нет этого
@MonaMuhr, это просто пример, чувак, я думаю, что на вашем маршруте возникают проблемы. Насколько я знаю, laravel не поддерживает динамические имена маршрутов и все специальные символы в маршрутах .. ваш маршрут - Route::post('user/{$stellentyp}', 'StartController@getValues')->name('user.{$stellentyp}'); , но он должен быть похож на Route::post('user/{stellentyp}', 'StartController@getValues')->name('user.stellentyp');
я понял: D
<form action = "{{ action('StartController@getValues') }}" method = "post" id = "postData">
{{ csrf_field() }}
<select name = "stellentyp">
<option value = "praktika">Praktika</option>
<option value = "fwd">Freiwilligendienste</option>
<option value = "jobs">Ferien- und/oder Nebenjobs</option>
</select>
<button type = "submit">Jetzt finden</button>
это мой blade.php
и мой контроллер такой же, и мои маршруты выглядят так
Route::resource('user/start', 'StartController');
Route::post('user/angebote', 'StartController@getValues');
Маршрут : -
Route::post('user/{stellentyp}', 'StartController@getValues');
Контроллер: -
public function getValues(Request $request,$stellentyp=''){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$view = 'user.'.$stellentyp;
return view($view,['typ' => $typ, 'stellentyp', $stellentyp, 'bereich', $bereich]);
}
Используйте этот код, чтобы получить ожидаемый ответ.
Отсутствуют обязательные параметры для [Маршрут: пользователь] [URI: пользователь / {$ stellentyp}]. (Просмотр: C: \ xampp \ htdocs \ j4ylara \ resources \ views \ user \ start.blade.php) это ошибка