首页 > 解决方案 > Laravel 从 JSON 中选择添加双引号 2 次

问题描述

Laravel 这个查询:

DB::table('registries')->where('metas->name', $this->registry_name)->select(['metas->date'])->first();

像这样返回数据:

{#1463 ▼
  +"`metas`->'$."date"'": ""2017-01-02""
}

由于这个问题(2x 双引号),DataTables 包存在问题,因为转换为 JSON 的结果仍然有 4 个双引号。

如果我删除select(['metas->date'])一切都很好,那么...

标签: jsonlaravellaravel-5

解决方案


为了解决这个问题,我们需要使用内联路径运算符选择列,->>如下所示:

DB::table('registries')->where('metas->name', $this->registry_name)->select([DB::raw('metas->>"$.date" AS date')])->first();

推荐阅读