我正在使用Laravel 5.7,并想返回带有查询字符串的视图。例如。下面是我现在正在做的事情。
return view('cart', compact('somevar'))
这会将用户带到mydomain.com/cart
我想添加查询字符串,例如因此用户转到mydomain.com/cart?id=123
我该怎么做?
答案 0 :(得分:0)
您可以实现:
return view('cart', ['id' => $id]);
您的数据应为具有键值对的数组。
您还可以使用with
方法:
return view('cart')->with('id', $id);
此外,您可以使用compact
:
return view('cart', compact('id'));
有关更多信息,请参阅Passing Data To Views
答案 1 :(得分:0)
您可以像这样传递数据以进行查看:
return view('admin-panel.leave.index')->with($data);
$ data是一个包含多个值的数组:
$data = array('count' => '7', 'id' => '4');
答案 2 :(得分:0)
这种方法无法解决您的问题。因为,主要问题是/var/www/vendor/laravel/framework/src/Illuminate/View
没有您要的东西。唯一的方法是return redirect()->route('cart', ['id' => 123]);
如果这确实有必要,我认为您需要在调用/cart
之前将其重定向到您的rootes/web
:
Route::get('/addcart', 'CartsController@workaround');
Route::get('/cart', 'CartsController@showtheview')->name('cart');
然后在您的 CartsController 中:
public function workaround(){
// your code.....
return redirect()->route('cart', ['id' => 1]);
}
public function showtheview(){
//your code....
return view('cart', compact('somevar'))
}
希望您能理解。
答案 3 :(得分:0)
您可以尝试以下方法:
Route::get('cart/{id}', 'TicketsController@edit');
作为回报:
return view('cart/'.$id, compact('somevar'))
您也可以这样尝试:
// app/Http/routes.php
Route::get('/cart/{id}', function ($id) {
return view('cart')->with('id', $id);
});
// resources/views/example.blade.php
The last part of the route URI is <b>{{ $id }}</b>
答案 4 :(得分:0)
我认为这不可能。这里的所有答案都忘记了还必须返回“somevar”。不仅必须返回 somevar 压缩数据,而且 URL 也必须有变量。
否则,您需要通过压缩来获得内部刀片数据,但 URL 必须看起来不同,因为它必须附加“&somevar2=xyz&somevar3=abc”。
如果我错了,请纠正我,但不可能。