我想將 typed 的值傳遞array給我的路由引數,該陣列每次可以是任意大小和不同的鍵值對。
Route::get('/example/{array}', ...
所以如果我有一個這樣的陣列:
$array = [
'a' => 'one',
'b' => 1,
...
]
我這樣做,但已經知道它是不是要去作業,因為它看起來像我將值傳遞給我的命名路由引數a,b等等。
route('route.name', $array)
正如預期的那樣,錯誤說:
... [缺少引數:陣列]
所以我使用了serialize().
route('route.name', serialize($array))
我仍然收到錯誤訊息,例如:
[缺少引數:s:1:"a";i:1;s:1:"b";i:2;]
我錯過了什么?我也不明白最后一個錯誤說的是什么。
uj5u.com熱心網友回復:
PHP 為此提供了 http_build_query 函式。
$array = [
'a' => 'one',
'b' => 1,
];
$query = http_build_query(array('myArray' => $array));
// output: myArray[a]=one&myArray[b]=1
uj5u.com熱心網友回復:
在 Laravel 中將資料傳遞給路由時,您應該練習將資料傳遞到陣列中,如下所示:
路線:
Route::get('/example/{array}', ...
呼叫命名路由:
route('route.name', ['array' => serialize($array)])
我不知道這種格式是否是必需的,但它 1. 可以幫助您在傳遞多個值時更好地格式化您的路由,以及 2,使您的代碼更具可讀性。
Laravel 路由檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/349326.html
標籤:拉拉维尔
上一篇:如何在一次遷移中運行遷移檔案夾
