我有这个观点来搜索姓名或电话号码。
<form method="POST" action="{{url('/telephone/search')}}">
{!! csrf_field() !!}
<input type="text" name="search" placeholder="Name or Telephone no.">
<input type="submit" class="btn-btn-default" value="search">
重定向到此控制器的路线:
public function search(Request $request)
{
$name=$request->get('search');
$search=telephone::where('name','like',$name)
->orWhere('Name','like',%$name)
->orWhere('Name','like',$name%);
->paginate(5);
return view('telephone.searchview',['search'=>$search]);
}
然后应该显示这个观点:
<thead style='background-color:silver'><tr><td>S.N.</td><td>Name</td><td>Telephone No.</td><td>Mobile No.</td><td>Options</td></tr></thead>
@if($search==NULL)
No Results!
@else
@foreach ($search as $li)
<tr><td></td><td>{{$li->Name}}</td><td>{{$li->telephone}}</td><td>{{$li->mobile}}</td>
<td>here</td></tr></table>
@endforeach
{!! $search->render() !!}
@endif
在orwhere语法中得到错误,也没有显示结果。
答案 0 :(得分:0)
这可以像这样存档,或者你的表中有多列
$search = telephone::where('name', 'LIKE', '%$name%')->get();
答案 1 :(得分:0)
尝试使用
@if($search->count() == 0)
而不是
@if($search==NULL)
当然你应该使用适当的where参数,比如
$search=telephone::where('Name','like','%'.$name.'%')->paginate(5);
答案 2 :(得分:-1)
我认为问题在于你的语法,应该是
$search=telephone::where('name','like',$name)
->orWhere('Name','like', "%$name")
->orWhere('Name','like', "$name%");
->paginate(5);
或更清楚,
->orWhere('Name','like', "%{$name}")
单引号
->orWhere('Name','like', '%'.$name)
然后,为了最好的方法。将您的查询简化为@ abiodun的回答
$search = telephone::where('name', 'LIKE', "%{$name}%")->paginate(5);