2017-02-17 97 views
-1

我目前将id传递到URL blog.dev/image?=1。在这个页面中,我需要将1传递给控制器​​功能。将URL参数传递到控制器 - laravel

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

路线

Route::get('/image', '[email protected]'); 
Route::post('/image', '[email protected]'); 

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每当我跑的存储功能。我究竟做错了什么?

+0

https://laravel.com/docs/5.4/routing#route-parameters + https://laravel.com/docs/5.4/controllers#basic-controllers – Laran

+0

'$ query_string_array = $ request-> input() ;' –

回答

0

这很简单,你已经有了你的URL参数(但有点不好格式化)。

您目前的网址是

blog.dev/image?=1 

应该

blog.dev/image?id=1 

后来就在你的控制器,你可以得到价值

$imgID = $request->id; 

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

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

同样的规则适用于来自form/ajax的post/get请求。

相关问题