我使用Laravel 5.6和mysql数据库。
我最有说服力的问题是:

Order::where('information->owner', 'like', '%'.$receipt.'%')->paginate(5);

信息字段是JSON类型。
{"owner": "Chelsea"}

如果$receiptChel,则查询返回结果。
但如果$receiptchelCHEL,则结果为空
我怎样才能解决这个问题?

最佳答案

在转换为小写或大写后,尝试比较这些值。

Order::whereRaw('LOWER(JSON_EXTRACT(information, "$.owner")) like ?', ['"%' . strtolower($receipt) . '%"'])
     ->paginate(5);

10-04 15:55