【问题标题】:building search function in laravel 5在 laravel 5 中构建搜索功能
【发布时间】:2016-05-30 17:58:33
【问题描述】:

我有这个视图来搜索姓名或电话号码。

<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 语法中出现错误,并且没有结果不显示。

【问题讨论】:

    标签: php laravel-5


    【解决方案1】:

    这可以像这样存档,或者您的表格中有多个列

    $search = telephone::where('name', 'LIKE', '%$name%')->get();
    

    【讨论】:

    • 如果没有结果匹配仍然有问题。@if($search==NULL) No Results! @else
    【解决方案2】:

    尝试使用

    @if($search->count() == 0)
    

    而不是

    @if($search==NULL)
    

    当然你应该使用正确的 where 参数,比如

    $search=telephone::where('Name','like','%'.$name.'%')->paginate(5);
    

    【讨论】:

      【解决方案3】:

      我认为问题出在你的语法上,应该是

      $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);
      

      【讨论】:

      • 如果没有匹配的结果仍然有问题。@if($search==NULL) No Results! @else
      • dd($search) 在返回视图之前显示什么?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 2016-09-15
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多