[英]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.