Laravel 5.6。 JSONb 列。计数数组

Laravel 5.6. JSONb column. Count array

我正在使用 PostgreSQL 的 JSONb 列。

我的 data 列中有这样一个数组

{
    myKey: []
}

如何检查 Laravel 这个数组是否为空?

类似

MyModel::where('data->myKey'...)

您必须使用原始语句:

MyModel::whereRaw("json_array_length((data->'myKey')::json) > 0")

在Laravel 5.7.2中你可以使用whereJsonLength():

MyModel::whereJsonLength('data->myKey', '>', 0)