laravel 雄辩的搜索查询

Tan*_*eer 1 php mysql laravel eloquent

我有一个用于搜索的输入表单,用户可以在其中发布姓名或电子邮件来搜索项目。但我不知道该特定搜索的 mysql 雄辩查询应该是什么。

我试过了

    $email_or_name = Input::get('email_or_name');

    $result = Marriage::where('name','LIKE','%'.$email_or_name.'%') or ->where('email','LIKE','%'.$email_or_name.'%')->get();
Run Code Online (Sandbox Code Playgroud)

它给出了以下例外

syntax error, unexpected '->' (T_OBJECT_OPERATOR)
Run Code Online (Sandbox Code Playgroud)

那我试过了

$result = Marriage::where('name','LIKE','%'.$email_or_name.'%') or Marriage::where('email','LIKE','%'.$email_or_name.'%')->get();
Run Code Online (Sandbox Code Playgroud)

如果我输入电子邮件地址进行搜索,则没有结果

但如果我把名字,那么它产生预期的results.So我怀疑后,该部分or查询是不是working.If我是对的,那应该是正确的MySQL查询口才对于这种类型的搜索,

luk*_*ter 7

你不能随便扔一个or地方。但是有一个方法orWhere()

$result = Marriage::where('name','LIKE','%'.$email_or_name.'%')
                ->orWhere('email','LIKE','%'.$email_or_name.'%')
                ->get();
Run Code Online (Sandbox Code Playgroud)