У меня возникли трудности с пониманием того, что делает этот код. кто-нибудь может мне это объяснить? Я видел, как некоторые люди использовали его, чтобы перенаправить пользователя на другую страницу с ним, но я не понимаю эту часть здесь "['id'=>$data3->id]) ".
Вот полный код: (со страницы просмотра)
<a href="{!! route('user.upload.image', ['id'=>$data3->id]) !!}">
Контроллер (как данные3 передаются для просмотра):
public function getInfo($id) {
$data3=UserImage::where('user_id',$id)->get();
return view('view',compact('data3'));
Маршрут:
Route::get('/userUpload/{user}/create1','CreateController@create1')->name('user.upload.iamge');
Route::get('user/show/{id}','HomeController@getInfo')->name("user.show");
контроллер create1:
public function create1(personal_info $user){
return view('create1')->withUser($user);
}
На основании вашего routes
Route::get('/userUpload/{user}/create1','CreateController@create1')->name('user.upload.iamge');
Route::get('user/show/{id}','HomeController@getInfo')->name("user.show");
Первый route
имеет parameter
user
который должен быть передан ему в любое время route
называется.
Второй также имеет id
параметр, который также должен быть передан ему.
Проходя parameter
значения для маршрутов могут быть сделаны разными способами. Например.
Используя route name
:
<a href="{!! route('user.upload.image', ['user'=>$data3->id]) !!}">
Этот метод требует от вас пройти все parameters
в виде массива с именем параметра в качестве key
массива.
Вы также можете назвать маршрут как:
<a href="/userUpload/{$data3->id}/create1">
Что не требует ничего, так как параметр был жестко задан в URL.
В любое время вы принимаете parameters
в вашем маршруте, чтобы передать их вашему контроллеру или route function
, должны быть указаны в том порядке, в котором они расположены.
Так что ваши getInfo
проходит id
параметр он получил от маршрута к контроллеру
public function getInfo($id) {
$data3=UserImage::where('user_id',$id)->get();
return view('view',compact('data3'));
}
Других решений пока нет …