代码之家  ›  专栏  ›  技术社区  ›  D.R.

拉维尔5.6。JSONB列。计数阵列

  •  1
  • D.R.  · 技术社区  · 6 年前

    我正在使用postgresql的jsonb列。

    我有这样一个数组在我的 data

    {
        myKey: []
    }
    

    如果这个数组是空的或者不是空的,我怎么能通过laravel检查呢?

    有点像

    MyModel::where('data->myKey'...)
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Jonas Staudenmeir    6 年前

    必须使用原始语句:

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

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

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