Как использовать «CONCAT» в предложении laravel where без использования модели - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть таблица ('mbo_party'), в которой два столбца: первый и последний (я использовал первый для хранения имени, последний для хранения фамилии).Предположим, я храню 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>

МойТабличное представление Вот мое табличное представление

В этом методе, когда я использую echo в контроллере, он показывает пустое значение.

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

Я хочу знать, какой правильный синтаксис для выполнения операций такого типа

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Это должно работать:

$query = DB::table('mbo_party')->whereRaw('CONCAT(`first`," ",`last`) = "' . $party_name . '"'))->first();
0 голосов
/ 29 сентября 2018

попробуйте

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