我试图通过这种雄辩的操作在表格用户中找到FullName内的“sam”:
$user = User::where('id', '=', $input)->orWhere('fullName', 'LIKE', "%$input%")->find(10);
通过id按预期工作,但Where with LIKE没有返回任何结果。
(如果$ input是1,第一个返回结果,但如果$ input是sam,则第二个不返回任何内容)
在数据库中,fullName的值为“Sam Pettersson”。
我做错了什么?
答案 0 :(得分:0)
出于某种原因,laravel不希望在同一个查询中使用find()和类似的查询,所以使用它来代替工作:
$user = User::where('id', '=', $input)->orWhere('fullName', 'LIKE', "%$input%")->take(10)->get();
答案 1 :(得分:0)
$user = User::where(function($query) use($input)
{
$query->where('id', '=', $input)
->orWhere('fullName','LIKE', '%'.$input.'%');
})->get();
这对我有用。希望这对你有用。