Laravel 5.2中的MySQL concat()

Laravel 5.2中的MySQL concat(),laravel,Laravel,我正在尝试用Laravel编写此MySQL查询: 从CONCATfirstName为、lastName为“%John%”的用户中选择* 其想法是,将返回名为John或姓为John的记录 我尝试过的事情: $users=User::whererawconcatures.firstName',users.lastName,如“%John%” 错误响应内容必须是实现_toString的字符串或对象,给定布尔值 $users=User::whereRawCONCATusers.firstName',

我正在尝试用Laravel编写此MySQL查询:

从CONCATfirstName为、lastName为“%John%”的用户中选择*

其想法是,将返回名为John或姓为John的记录

我尝试过的事情:

$users=User::whererawconcatures.firstName',users.lastName,如“%John%”

错误响应内容必须是实现_toString的字符串或对象,给定布尔值

$users=User::whereRawCONCATusers.firstName',users.lastName类似“%”?%,[$search]->get

返回[]

$users=User::whererawconcatures.firstName',users.lastName like?,[$search]->get


检查SQL后返回[]

,谢谢@xAoc!我发现生成的SQL是错误的

这似乎可以生成正确的SQL:


返回User::whererawconcatuers.firstName',users.lastName,如“%$search%”->get

这对我有用,你可以试试这个:

$search = 'John Smith';
$users = User::whereRaw("(CONCAT(first_name, ' ', last_name) like '%$search%')")->get();
输出如下所示:

集合{573▼ 项目:阵列:13[▶] }


您可以尝试通过User::whererawconcatuers.firstName',users.lastName like?,[$search]->toSql转储原始sql并查找错误谢谢,@xAoc我已经查看了生成的sql并取得了一些进展。