首页 >数据库 >mysql教程 >Laravel 5 查询生成器:如何正确使用带有通配符的'orWhereLike()”?

Laravel 5 查询生成器:如何正确使用带有通配符的'orWhereLike()”?

Susan Sarandon
Susan Sarandon原创
2024-11-28 06:07:10771浏览

Laravel 5 Query Builder: How to Correctly Use `orWhereLike()` with Wildcards?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn