我的代码在通过多种方式进行测试之前运行良好,但没有出现错误,但是突然开始出现此错误。
Object of class Symfony\Component\HttpFoundation\ParameterBag could not be converted to string
不知道为什么我在保存记录时没有使用任何查询的原因。
$product = new Product();
$product->name = $request->name;
$product->description = $request->description;
$product->short_description = $request->short_description;
$product->brand_id = $request->brand;
$product->cat_id = $request->categories;
$product->attr_id = $request->attributes;
if ($request->is_active) {
$product->is_active = 1;
} else {
$product->is_active = 0;
}
$product->save();
任何帮助将不胜感激。预先谢谢你。
答案 0 :(得分:2)
这是将请求输入数据作为请求的直接属性而不是使用访问方法(input()
,get()
等)进行访问的危险。
问题在于attributes
实际上是请求上的公开定义的属性。因此,当您访问$request->attributes
时,您没有访问名为attributes
的输入值,而是访问了真实的attributes
属性,即Symfony ParameterBag
。 / p>
要解决此问题,您需要将代码更新为:
$product->attr_id = $request->input('attributes');