laravel雄辩的搜索查询

时间:2015-02-15 17:17:46

标签: 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();

它给出了以下异常

syntax error, unexpected '->' (T_OBJECT_OPERATOR)

然后我尝试了

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

如果我将电子邮件地址用于搜索,则会显示无结果

但如果我输入名称,则会产生所需的结果。所以我怀疑查询or之后的部分无效。如果我是对的,那么对于这种类型的搜索应该是正确的 mysql eloquent query

1 个答案:

答案 0 :(得分:4)

你不能在某个地方投掷or。但是有一种方法orWhere()

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