LIKE没有返回结果

时间:2013-10-19 14:10:35

标签: laravel

我试图通过这种雄辩的操作在表格用户中找到FullName内的“sam”:

$user = User::where('id', '=', $input)->orWhere('fullName', 'LIKE', "%$input%")->find(10);

通过id按预期工作,但Where with LIKE没有返回任何结果。

(如果$ input是1,第一个返回结果,但如果$ input是sam,则第二个不返回任何内容)

在数据库中,fullName的值为“Sam Pettersson”。

我做错了什么?

2 个答案:

答案 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();

这对我有用。希望这对你有用。