【问题标题】:How to get PostgreSQL's JSON type data in laravel?如何在 laravel 中获取 PostgreSQL 的 JSON 类型数据?
【发布时间】:2017-02-12 16:30:28
【问题描述】:

我创建了表格

-- Table: public.books

-- DROP TABLE public.books;

CREATE TABLE public.books
(
  id integer,
  data json
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public.books
  OWNER TO postgres;

-- Index: public.books_author_first_name

-- DROP INDEX public.books_author_first_name;

CREATE UNIQUE INDEX books_author_first_name
  ON public.books
  USING btree
  (((data -> 'author'::text) ->> 'first_name'::text) COLLATE pg_catalog."default");

select * from books;

来自 laravel:

 $testPJSON=DB::select('SELECT * FROM books WHERE data->>"last_name" = "White"');

得到空值; 在 Laravel 中从 Postgres JSON 类型获取数据的最佳方式是什么?

【问题讨论】:

    标签: php json postgresql laravel


    【解决方案1】:

    您的查询应该与数据匹配。 JSON 对象中没有元素last_name

    试试这个 SQL 语句:

    $testP2=DB::select(
              "SELECT * FROM books WHERE data->'author'->>'last_name' = 'White'"
             );
    

    【讨论】:

      猜你喜欢
      • 2017-03-15
      • 2021-06-07
      • 2021-10-07
      • 2019-03-28
      • 2013-09-04
      • 2023-03-13
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多