【问题标题】:Access json data from database从数据库访问json数据
【发布时间】:2019-01-16 16:07:26
【问题描述】:

我有一个数据库。其中一列将数据存储为 json。该字段是form_data。

{"id":"1248","goals":"tet","bythe_end":"tet","moving_towards":"tet"}

其他一切都是正常的对象。

这是我的查询

$Goal = Assignments::where(function ($query) {
    return $query->whereNull('deleted_at')->orWhere('deleted_at', '');
})
    ->where('assigned_to', $id)
    ->selectRaw('id,value,completed,created_at,submitted_on, form_data, assigned_to as user_id,admin_note,"1-1" as program')
    ->get()
    ->toArray();

我如何显示这个 json 数据。

【问题讨论】:

  • 我的 Laravel 生锈了,但我认为您需要将 form_data 解析为 JSON,因为它是作为字符串获取的。 $formData = json_decode($Goal["form_data"], true); 类似的东西。
  • 定义显示。如果你想要数据作为一个对象,你可以使用json_decode
  • 您可以通过 $Goal['form_data'] 访问 from_data 列。

标签: javascript json laravel eloquent


【解决方案1】:

如果您要实现的目标是在检索模型实例结果时获取 decode 属性,您可以使用Attribute Casting

通过添加

/**
 * The attributes that should be cast to native types.
 *
 * @var array
 */
protected $casts = [
    'form_data' => 'array',
];

对于您的作业模型,它应该为您完成这项工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 2017-12-08
    相关资源
    最近更新 更多