需要将数组传递给路由和控制器

时间:2017-12-07 12:30:13

标签: laravel routing

我需要从视图传递数组到路由和控制器。

我收到错误:

  

缺少[Route: actBook] [URI: bookfromindex/actBook/{id}/{array}]所需的参数。

我的路线定义为:

Route::get('/bookfromindex/actBook/{id}/{array}', 'BookController@actBook')->name('actBook');

我的控制器功能定义为:

public function actBook(Request $request, $id, $array){

我在以下视图中使用以下方式调用此路线:

<a href="{{ route('actBook', $room->id, $array) }}" class="btn btn-default">დაჯავშნა</a>

如何防止此错误?

3 个答案:

答案 0 :(得分:2)

首先,您需要序列化您的数组,然后您可以传入参数

示例:

{{  $serializeArray = serialize($array) }} 
<a href="{{ route('actBook', $room->id, $serializeArray) }}" class="btn btn-default">

控制器:

public function actBook(Request $request, $id, $array){

路线:

Route::get('/bookfromindex/actBook/{id}/{array}', 'BookController@actBook')->name('actBook');

希望这会对你有所帮助。

答案 1 :(得分:1)

只需改变 -

<a href="{{ route('actBook', $room->id, $array) }}" class="btn btn-default">დაჯავშნა</a>

到 -

<a href="{{ route('actBook', $room->id, serialize($array)) }}" class="btn btn-default">დაჯავშნა</a>

答案 2 :(得分:0)

只需使用serialize($array);
然后将此数组传递给路径。