0

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

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

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

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

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

有什么我做错了吗?

4

2 回答 2

0

出于某种原因,laravel 不希望在同一个查询中使用 find() 和 like 查询,因此使用它来代替:

$user = User::where('id', '=', $input)->orWhere('fullName', 'LIKE', "%$input%")->take(10)->get();
于 2013-10-19T14:57:12.473 回答
0
$user = User::where(function($query) use($input)
{
  $query->where('id', '=', $input)
        ->orWhere('fullName','LIKE', '%'.$input.'%');
})->get();

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

于 2013-10-22T05:18:18.770 回答