Laravel-5 LIKE 等效(雄辩)查询比较
本问题探讨了 Laravel-5 数据库查询中 LIKE 运算符的用法雄辩。提供的代码:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name'))->get()
旨在检索与指定电子邮件或名称字段中包含特定字符串的结果匹配的结果。但是,orWhereLike 条件不会产生任何结果。
目的是创建一个相当于:
select * from booking_dates where email='[email protected]' or name like '%John%'
解决方案
到要解决此问题,建议在 LIKE 子句中使用 '%...'% 而不是 '...'。这确保可以在所需字段中找到任何指定的字符串。或者,您可以使用 ->whereLike 而不是 ->orWhereLike 以获得更清晰的语法:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
数据库日志记录
如果您遇到任何问题生成的 SQL 查询后,您可以使用 dd(DB::getQueryLog()) 函数来检查执行的查询并识别任何潜在的错误。这可以帮助您排除故障并确保您的查询按预期运行。
以上是如何在 Laravel 5 Eloquent 的 `orWhere` 中正确使用 LIKE 运算符?的详细内容。更多信息请关注PHP中文网其他相关文章!