2016-05-30 16 views
0

Ich habe diese Ansicht für die Suche nach Namen oder Telefon-Nr.Gebäude Suchfunktion in Laravel 5

<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"> 

Die Route Umleiten zu diesem Controller:

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]); 
} 

, die dann diese Ansicht zeigen sollten:

<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 

bekam den Fehler in orWhere Syntax und wird auch keine Ergebnisse nicht angezeigt werden.

Antwort

0

Dies könnte so archiviert werden, oder vielleicht haben Sie mehrere Spalte in der Tabelle

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

noch Problem wenn keine Ergebnisse übereinstimmen '.if ($ search == NULL) Keine Ergebnisse! @else ' – Steve

-1

Ich denke, das Problem auf Ihre Syntax, die

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

Oder klarer,

sollte
->orWhere('Name','like', "%{$name}") 

Einzelnes Angebot

->orWhere('Name','like', '%'.$name) 

Dann für den besten Ansatz. Simplifize Ihre Abfrage als @ Abiodun

$search = telephone::where('name', 'LIKE', "%{$name}%")->paginate(5); 
+0

immer noch Problem, wenn keine Ergebnisse übereinstimmten.'@if ($ search == NULL) Keine Ergebnisse! @else ' – Steve

+0

Was zeigt' dd ($ search) 'an, bevor die Ansicht zurückgegeben wird? – Chay22

0

try

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

statt

@if($search==NULL) 

natürlich beantwortet wird, sollten Sie die richtige verwenden, in denen Argumente, wie

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