我遇到了以下问题。
当我尝试使用来自laravel查询生成器的新功能whereJsonContains时,出现以下错误:
SQLSTATE[42703]: Undefined column: 7 ERROR: column "json_contains" does not exist LINE 1: select * from "users" where "json_contains" = $1 ^ (SQL: select * from "users" where "json_contains" = 'test')
使用以下行
$result =DB::table('users')
->whereJsonContains('public_data->vakgebieden', 'schoonmaak')
->get();
这是存储在public_data列中的jsonb中的数据。
{"vakgebieden": ["administratie", "onderwijs", "schoonmaak", "overheid", "industrie"]}
知道这是怎么引起的吗?
感谢
答案 0 :(得分:0)
您使用的是哪个laravel版本以及您使用的是哪个数据库?
考虑一下: Laravel还支持在支持JSON列类型的数据库上查询JSON列类型。当前,这包括MySQL 5.7,PostgreSQL,SQL Server 2016和SQLite 3.9.0(带有JSON1扩展名)。要查询JSON列,请使用->运算符: