将URL参数传递给控制器​​ - laravel

时间:2017-02-17 10:20:55

标签: laravel

我目前将id传递到网址blog.dev/image?=1。在这个页面中,我需要将1传递给控制器​​函数。

我目前要做的是使用隐藏的输入字段并将id传递给值。但是我不认为这是一个很好的方法,因为用户可以通过检查器更改此值。

路线

Route::get('/image', 'imguploadController@index');
Route::post('/image', 'imguploadController@store');

public function index(Request $request) {
    $imgID = $request->query('id');
    return view('imgupload.create', compact('imgID'));
}

public function store(Request $request){
    $imgID = $request->query('id');
}

每当我运行商店功能时,$imgID都会返回null。我做错了什么?

1 个答案:

答案 0 :(得分:0)

你已经拥有的URL参数很简单(但有点格式化)。

您当前的网址是

blog.dev/image?=1

应该是

blog.dev/image?id=1

以及稍后在您的控制器中,您可以获得该值

$imgID = $request->id;

有时可能会发生此参数未设置,因此检查该参数是否存在是明智的

if ($request->has('id')) {
    $imgID = $request->id;
    //
}

相同的规则适用于来自form / ajax的发布/获取请求。