-1

我的代码在用多种方法测试之前运行良好,没有错误,但突然开始出现此错误。

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();

任何帮助,将不胜感激。先感谢您。

4

1 回答 1

3

这是将请求输入数据作为请求上的直接属性访问的危险,而不是使用访问方法(input()get()等)。

问题在于,这attributes实际上是请求中公开定义的属性。因此,当您访问 时$request->attributes,您不是在访问名为 的输入值attributes,而是在访问真实attributes属性,即 Symfony ParameterBag

要解决此问题,您需要将代码更新为:

$product->attr_id = $request->input('attributes');
于 2019-04-15T00:10:53.807 回答