Php 如何在Laravel中使用多个列进行搜索

Php 如何在Laravel中使用多个列进行搜索,php,mysql,laravel,Php,Mysql,Laravel,我是拉威尔的新手,我试着用一列搜索,这是我的代码。但是现在我想用多个列进行搜索-我怎么做 我的控制器: public function search_pers(Request $request) { $mle = $request->input('mle'); $listpers = Personne::where('mle', 'LIKE', '%'.$mle.'%')->get(); return view('frontend.etat_civil',

我是拉威尔的新手,我试着用一列搜索,这是我的代码。但是现在我想用多个列进行搜索-我怎么做

我的控制器:

public function search_pers(Request $request)
{
    $mle = $request->input('mle');
    $listpers = Personne::where('mle', 'LIKE', '%'.$mle.'%')->get();

    return view('frontend.etat_civil', ['personnes' => $listpers]);
}

可以使用数组

     Personne::where([
        ['col1', '=', 'value1'],
        ['col2', '<>', 'value2'],
        [Your_col, OPERATOR, value],
        ...
    ])
Personne::where([
['col1','=','value1'],
['col2','','value2'],
[您的列、运算符、值],
...
])
还是你的情况

      $str = "concat('%',".$mle .",'%')";
      $listpers = Personne::where([
            ['mle', 'LIKE', $str],
            ['col1', '=', 'value1'],
            ['col2', '<>', 'value2'],
            [Your_col, OPERATOR, value],
      )->get();
$str=“concat(“%”,“$mle.”,“%”);
$listpers=Personne::where([
['mle','LIKE',$str],
['col1','=','value1'],
['col2','','value2'],
[您的列、运算符、值],
)->get();

据我所知,您需要的是orWhere条件:

public function search\u pers(请求$Request)
{
$mle=$request->input('mle');
$listpers=Personne::where('mle','LIKE','%'。$mle'%')->或where('nom','LIKE','%'。$mle'%')->get();
返回视图('frontend.etat_civil',['personnes'=>$listpers]);
}
另一种可能更好的选择是使用全文搜索。

这有帮助吗?:这对我没有帮助吗?:@SaraAlaoui回答更新了..希望更清楚是的,“$listpers=Personne::where([['mle','LIKE','%'。$mle.'%'],['nom','LIKE','%'.$mle.%',])->get()5942