我使用Laravel 5.6和mysql数据库。
我最有说服力的问题是:
Order::where('information->owner', 'like', '%'.$receipt.'%')->paginate(5);
信息字段是JSON类型。
{"owner": "Chelsea"}
如果
$receipt
是Chel
,则查询返回结果。但如果
$receipt
是chel
或CHEL
,则结果为空我怎样才能解决这个问题?
最佳答案
在转换为小写或大写后,尝试比较这些值。
Order::whereRaw('LOWER(JSON_EXTRACT(information, "$.owner")) like ?', ['"%' . strtolower($receipt) . '%"'])
->paginate(5);