Laravel 5 查询生成器:'LIKE' 等价语法
在 Laravel 5 中,Eloquent 查询中的 LIKE 运算符由 'whereLike 表示()' 方法。然而,一些用户在使用 'orWhereLike()' 方法组合 LIKE 子句时遇到了困难。
MySQL 等效项
'orWhereLike()' 方法将生成以下格式的 MySQL 查询:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
匹配结果
问题中提供的代码:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name')) ->get()
不会匹配任何结果,因为“名称”条件缺少通配符,而通配符是指示部分内容所必需的match.
正确语法
达到预期的MySQL查询,使用以下代码:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
这将生成正确的 MySQL 查询:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
以上是Laravel 5 查询生成器:如何正确使用带有通配符的'orWhereLike()”?的详细内容。更多信息请关注PHP中文网其他相关文章!