繁体   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