[英]Casting multiple choice to array in Laravel/PHP returning Err:Array to string Conversion
我正在嘗試使用 Laravel 創建一個小型披薩訂購應用程序,此問題的目的是將澆頭添加到名為 toppings 的 SQL 列中。
除了澆頭外,一切都按預期工作。 如果用戶選擇要添加的多個澆頭,則需要將選項組合到一個數組中,然后組合到澆頭 sql 列中的字符串值中。 我關注的資源顯示了他們的 mySQL 表:
請注意最后一列 [toppings],選擇了一系列配料。
我試圖自己合並它,我還查看了其他資源並將它們跟蹤到“T”,但問題仍然存在。
我必須說一切正常,只是澆頭沒有。
我已經截取了屏幕截圖,因為我相信它會更容易理解。
這是 webform 布局,為每個頂部復選框指定了 toppings[array]。 遷移:
正如我們所見,json 已被指定用於澆頭。
比薩控制器:
我要求已選擇的澆頭。
根據我正在關注的資源,圖5似乎是問題所在。 當我 go 到路線 Pizza/create - 工作並輸入名稱和 select 一些配料時,如圖所示。
注意:即使您 select 一個單一的頂部,下一個錯誤也會出現。
如果有人有任何想法,我不確定如何解決這個問題。 我將不勝感激,如果需要更多信息,請告訴我。
先感謝您。
解決方案取決於 laravel 版本,但嘗試添加一個 mutator 來保存澆頭:
/**
* Set the pizza's toppings.
*
* @param string $value
* @return void
*/
public function setToppingsAttribute($value)
{
$this->attributes['toppings'] = json_encode($value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.