我有一个表单,其中包含1 个输入 以按全名(!)过滤:
<label>Search by fullname:</label>
<input type="text" name="fullname">
问题:全名在我的数据库用户表中被分成3个字段:
用户
fullname = title + firstname + lastname
我想找到输入的结果像 Dr. Doe,还有 John Doe 或只是 Peter。
目前我只知道如何分别过滤每个字段:
$users = User::where('firstname', 'like', '%'.$keyword.'%')->get();
最佳答案
您可以使用 DB::raw()和 MySQL's concat实现这一目标:
$users = User::where(DB::raw('concat(title," ",firstname," ",lastname)'), 'like', '%'.$keyword.'%')->get();
关于php - Laravel/ Eloquent : How to use WHERE LIKE for combined fields?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912634/