如何在不使用模型的情况下在 laravel where 子句中使用 "CONCAT"

How to Use "CONCAT" in laravel where clause without using model

我有一个 table ('mbo_party'),其中有两列 first 和 last(我用 first 来存储名字,last 来存储姓氏)。假设我将 Debanjan 存储在 'first' 列中,将 Ganguly 存储在 'last' 列中。所以在搜索字段中,如果通过 'Debanjan Ganguly' 进行搜索,我如何从该列中获取所有数据。我正在使用 laravel 5.4,我没有使用任何模型。我在我的控制器中编写查询。到目前为止,这是我的代码...

控制器

    $party_name = $request->get('party_name');
        $query = DB::table('mbo_party')->where('concat(first," ",last)' , '=' , $party_name)->first();

查看

    <form id="party_search_it" method="GET" action="{{route('mbo-index')}}"> 
        {{ csrf_field() }}
        <input type="text" class="form-control" name="party_name" placeholder="Search for Party Name..." autocomplete="off">
    </form>

我的Table查看 Here's my Table View

在这个方法中,当我在控制器中使用 echo 时,它显示空白。

    echo"<pre>";print_r($query);die;

我想知道执行这种操作的正确语法是什么

试试这个

$query = DB::table('mbo_party')->where(DB::raw("CONCAT(first,' ',last)"), 'LIKE', '%' . $party_name . '%')->first();

这应该有效:

$query = DB::table('mbo_party')->whereRaw('CONCAT(`first`," ",`last`) = "' . $party_name . '"'))->first();