在Laravel中从MySQL字段插入和检索信息

时间:2019-02-07 20:30:47

标签: mysql arrays json laravel laravel-5

我有一个正在尝试的JSON字段,但遇到了一些麻烦。

我在Customer模型中添加了以下内容:

  protected $casts = [
    'billingConfig' => 'array'
  ];

然后我在控制器中使用以下内容更新了测试字段:

  $customer->billingConfig = ['attachableType' => $request->attachmentsConfig];
  $customer->save();

此后,以下内容出现在我的数据库中:

{"attachableType": "combined"}

现在,当我通过刀片抓取这个特定值时:

{{$customer->billingConfig->attachableType}}

我得到“试图获取非对象的属性'attachableType'”

但是当我使用以下内容时:

{{$customer->billingConfig['attachableType']}}

我得到了想要的“组合”值。

我使用的是本指南:https://www.qcode.in/use-mysql-json-field-in-laravel/,我想我想确保自己做的所有事情都正确无误,而他们的方法是错误的,或者是我在某个地方犯了错误。

1 个答案:

答案 0 :(得分:0)

JSON数据字段被读取为一个数组,您不能为其调用属性,这就是我认为调用该错误时会出现的原因

{{$customer->billingConfig->attachableType}}

因为它是一个数组,而不是数据对象(例如javascript中的情况)。

感谢分享。