如何通过Eloquent检索空的json数组?

问题描述 投票:1回答:2

我有桌子qazxsw poi,它有一个JSON列qazxsw poi。有一些像这样的行:

item

我试图通过Eloquent从DB中检索这些行:

sku_purchase_price

但它返回一个零结果的集合。

那么,如何通过Eloquent从DB中检索那些行呢?

php laravel eloquent
2个回答
0
投票

如果它插入空数组,那么在你的代码库中有一些不太正确的东西。

您需要找到插入此表的代码,并检查是否有正在创建的空数组,如果有,则传递空字符串,如果不是必填字段则不传递。

但是,如果您想使用Eloquent选择它们,您可以:

enter image description here

但是,是的,不要这样做,首先在代码中找到实际问题而不是尝试从db中选择空数组...


0
投票

你可以像这样使用$items = Item::where('sku_purchase_price', '[]')->get();

$items = Item::where('sku_purchase_price', '\[\]')->get();

这仅适用于MySQL 5.7,PostgreSQL,SQL Server 2016和SQLite 3.9.0(使用Illuminate\Database\Query\Builder::whereJsonLength)。

© www.soinside.com 2019 - 2024. All rights reserved.