我有一个用于搜索的输入表单,用户可以在其中发布名称或电子邮件来搜索项目。但我不知道该特定搜索的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 ,
答案 0 :(得分:4)
你不能在某个地方投掷or
。但是有一种方法orWhere()
:
$result = Marriage::where('name','LIKE','%'.$email_or_name.'%')
->orWhere('email','LIKE','%'.$email_or_name.'%')
->get();