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

Say*_*iss 4 php laravel eloquent

我有item一个包含 JSON 列的表sku_purchase_price。有一些这样的行:

在此输入图像描述

我尝试通过 Eloquent 从数据库中检索这些行:

$items = Item::where('sku_purchase_price', '[]')->get();
Run Code Online (Sandbox Code Playgroud)

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

那么,如何通过 Eloquent 从数据库中检索这些行呢?

Rou*_*dre 8

Illuminate\Database\Query\Builder::whereJsonLength你可以这样使用:

$items = Item::whereJsonLength('sku_purchase_price', 0)->get();
Run Code Online (Sandbox Code Playgroud)

这仅适用于 MySQL 5.7、PostgreSQL、SQL Server 2016 和 SQLite 3.9.0 (带有JSON1 扩展