簡體   English   中英

在 Laravel/PHP 中將多項選擇轉換為數組,返回 Err:Array 到字符串轉換

[英]Casting multiple choice to array in Laravel/PHP returning Err:Array to string Conversion

我正在嘗試使用 Laravel 創建一個小型披薩訂購應用程序,此問題的目的是將澆頭添加到名為 toppings 的 SQL 列中。

除了澆頭外,一切都按預期工作。 如果用戶選擇要添加的多個澆頭,則需要將選項組合到一個數組中,然后組合到澆頭 sql 列中的字符串值中。 我關注的資源顯示了他們的 mySQL 表: 資源 sql 結果

請注意最后一列 [toppings],選擇了一系列配料。

我試圖自己合並它,我還查看了其他資源並將它們跟蹤到“T”,但問題仍然存在。

我必須說一切正常,只是澆頭沒有。

我已經截取了屏幕截圖,因為我相信它會更容易理解。

html 網頁表單

這是 webform 布局,為每個頂部復選框指定了 toppings[array]。 遷移:

CreatePizza_Migration

正如我們所見,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM