如何将查询字符串添加到Laravel视图

时间:2019-02-15 04:06:10

标签: php laravel laravel-5

我正在使用Laravel 5.7,并想返回带有查询字符串的视图。例如。下面是我现在正在做的事情。

return view('cart', compact('somevar'))

这会将用户带到mydomain.com/cart

我想添加查询字符串,例如因此用户转到mydomain.com/cart?id=123

我该怎么做?

5 个答案:

答案 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”。

如果我错了,请纠正我,但不可能。