我有带有 json 字段的 MySQL 表:
Schema::create('meta', function (Blueprint $table) {
$table->json('details');
});
以及键和值的数组:
$filter = ['key' => 'val', 'id' => 'val'];
如何从数组中选择包含键和值的 json 行?
这不起作用:
Meta::where('details', $filter)->get();
Meta::whereJsonContains('details', $filter)->get();
有什么想法吗?
最佳答案
解决方法:
Meta::where(function($query) use($filter) {
foreach($filter as $k => $v) {
$query->orWhere("details->{$k}", $v);
}
})->get();
但它不适用于深层嵌套数组。
关于php - 如何通过 Eloquent ORM 选择 json 之类的键和值数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56629687/