当我在laravel
的{{1}}中使用此代码时,
json
$users = App\User::where('meta->Address->addressState','4');
返回一个空集合
Laravel
我该如何解决这个问题?
答案 0 :(得分:0)
尝试像使用whereJsonContains
$users = App\User::whereJsonContains('meta->Address->addressState', '4')->get();
或
您可以使用
$users = DB::table('users')
->where('meta->Address->addressState', '4')
->get();
我认为您可能在哪里也无法正常工作
$users = App\User::where('meta->Address->addressState', 4)->get();
或
$users = App\User::where('meta->Address->addressState', "'4'")->get();
取决于您如何将其存储在数据库中。
答案 1 :(得分:0)
$users = App\User::where('meta->Address->addressState','4');
$data=$users->first();
如果您只希望表中一个地址状态为4的数据,这将起作用;否则,如果您想要多个数据,则可以尝试此操作
$data=$users->get();
答案 2 :(得分:-1)
有时会出现此问题,因为数据库列类型是 text 或 LongText ,而必须有json列
如果使用mariadb,则在运行迁移时,默认情况下,其create json列为longtext