我很难理解这段代码在做什么。有人可以向我解释一下吗?我看到有人使用它将用户重定向到另一个页面,但我不明白这部分"['id'=>$data3->id]) ".
以下是完整代码:(来自查看页面)
<a href="{!! route('user.upload.image', ['id'=>$data3->id]) !!}">
控制器(如何将data3传递给视图):
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 controller:
public function create1(personal_info $user){
return view('create1')->withUser($user);
}
答案 0 :(得分:1)
根据您的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">
由于参数已被硬编码到网址中,因此无需任何操作。
如果您在路线中接受parameters
,将其传递给您的控制器或route function
,则必须按照排列顺序列出。
因此,您的getInfo
将从路由收到的id
参数传递给控制器
public function getInfo($id) {
$data3=UserImage::where('user_id',$id)->get();
return view('view',compact('data3'));
}