2016-12-15 58 views
2

我使用Laravel 5.3,并且我已经命名了我所有的路线。

我想使用route()函数并包含我的$ _GET参数。

这是我已经试过:

<a href="{{ route('myRoute', ['id' => $id, 'slug' => str_slug($name)], request()->all()]) }}"> 

或者

<a href="{{ route('myRoute', [array_merge(['id' => $id, 'slug' => str_slug($name)], request()->all())]) }}"> 

现在,我得到这个错误

ErrorException在UrlGenerator.php行377:Array对字符串 转换(查看:...

有没有办法包含所有参数?我不想一一列出。由于

编辑

我有恩的错误在我的代码,现在它的工作原理与:

<a href="{{ route('myRoute', array_merge(['id' => $id, 'slug' => str_slug($name)], request()->all())) }}"> 

回答

0

request()->all()['id' => $id, 'slug' => str_slug($name)]是数组和你试图把它作为字符串。当你有很多数据时,最好使用POST方法来传递它。

+0

我在我的代码中有一个错误,我用'[array_merge(...)]',我创建了一个数组数组..现在可以工作了。我知道POST ...但是你确定如果我在谈论路线,我使用GET参数。 –

0

一个廉价的黑客会是这样:

<a href="{{ route('myRoute') . '?' . http_build_query(array_merge(['id' => $id, 'slug' => str_slug($name)], request()->all())) }}"> 

http_build_query接通关联数组到GET PARAMATERS串(无起始?)。