我正在使用下面的代码从Laravel 5的数据库中提取一些结果.

BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()

然而,OrWhere-like似乎与任何结果都不匹配.这段代码在MySQL语句中产生了什么?

我正在努力实现如下目标:

select * from booking_dates where email='my@email.com' or name like '%John%'

推荐答案

如果要查看数据库中运行的内容,请使用dd(DB::getQueryLog())查看运行了哪些查询.

试试这个

BookingDates::where('email', Input::get('email'))
    ->orWhere('name', 'like', '%' . Input::get('name') . '%')->get();

Php相关问答推荐

为什么调用干预\映像引发错误驱动程序\GD\Driver not found?

PHP日期操作,将多个日期输出为格式化字符串

WooCommerce/WordPress:简单的产品属性显示

在特定订单状态更改时自定义WooCommerce订单发货项目

让所有具有相同名称的产品在WooCommerce中更改价格

在Laravel Eloquent中实现一对多关系

如何删除Foreach语句中的重复值?

有没有办法为整个PHP应用程序启用严格类型

Mod_重写子目录中相应的php文件

从两个日期创建日期范围,然后为范围中的每个日期复制子数组

Filament v3:具有 hasMany 和 BelongsTo 的关系管理器

使用 php Carbon 获取两个日期之间的随机日期和时间

既然setSQLLogger()已被弃用,如何使用中间件在 Doctrine 3 中记录查询执行时间?

PHP 数组中第一级 node 到 XML 的唯一名称

.htaccess 重写规则问题

WooCommerce 回购自定义插件:如何更新用户钱包?

如何更新 Laravel Eloquent 列强制转换为集合

为什么 debug_backtrace() 不返回任何内容?

如何在 php 中获取正确的时间

Symfony 自定义注销