如何从URL到控制器绕过多个参数

时间:2019-04-08 10:10:01

标签: php laravel mysqli laravel-5.8

我在网址中输入了2个参数。我想要的是如何获取这两个参数,以便可以从我的控制器中读取它。

我已经尝试过,以便控制器可以读取参数:

$id = Input::get('id');

但是当我用dd检查时,参数为空

这是我的代码:

视图上的href链接:

{{ URL('/lap_spd/tambahspd/'.$items->nosurat.'/'.$items->id )}}

网络php:

Route::get('lap_spd/tambahspd/{id}/{nosurat}', function($id, $nosurat){
return redirect()->action(
    'lapspdController@tambahuwong', ['id' => $id], ['nosurat' => $nosurat]);
});

lapspdController php:

public function tambahuwong($id, $nosurat) { 
 $id = Input::get('id');
 $nosurat = Input::get('nosurat');

$data3 = DB::table('list_nama')
          ->where('id_nosurat', 'nosurat')
          ->toSql();
          dd($data3);

所以我想要的输出-参数可以传递给控制器​​上的变量。

感谢您的回复,并为我的英语不好对不起。

3 个答案:

答案 0 :(得分:1)

将参数传递到web.php文件中的单个数组中

return redirect()->action(
    'lapspdController@tambahuwong', ['id' => $id, 'nosurat' => $nosurat]);

在lapspdController php中:

public function tambahuwong($id, $nosurat) { 
//remove these lines and use the variables from the parameters directly
 //$id = Input::get('id');
 //$nosurat = Input::get('nosurat');

$data3 = DB::table('list_nama')
          ->where('id_nosurat',$nosurat)
          ->toSql();
          dd($data3);

答案 1 :(得分:0)

in view:
<a href="{{route('check',['nosurat'=>$items->nosurat,'id'=>$items->id])}}"></a>

in route:

 Route::get('lap_spd/tambahspd/{id}/{nosurat}','HomeController@tambahuwong')
  ->name('check');

in controller:
public function tambahuwong($id,$nosurat) {
$check_id=$id;
$nosurat_name=$nosurat;
dd($check_id);
dd($nosurat_name);
}

答案 2 :(得分:0)

如果您进行更改,它会起作用

return redirect()->action(
    'lapspdController@tambahuwong', ['id' => $id], ['nosurat' => $nosurat]);
});

return redirect()->action(
    'lapspdController@tambahuwong', ['id' => $id, 'nosurat' => $nosurat]);
});