我有一个表('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>
我的表格视图 Here's my Table View
在这种方法中,当我在控制器中使用echo时,它显示为空白。
echo"<pre>";print_r($query);die;
我想知道执行这种操作的正确语法
答案 0 :(得分:0)
尝试
$query = DB::table('mbo_party')->where(DB::raw("CONCAT(first,' ',last)"), 'LIKE', '%' . $party_name . '%')->first();
答案 1 :(得分:0)
这应该有效:
$query = DB::table('mbo_party')->whereRaw('CONCAT(`first`," ",`last`) = "' . $party_name . '"'))->first();