2016-08-09 6 views
0

Я хочу, чтобы иметь возможность искать в laravel и отображать результат в той же таблице, которую я показал со всеми результатами.Поиск в laravel 5.2

Мой контролер;

/* 
    * View all clients in descending order 
    */ 
    public function getViewClient() { 

     $clients = Clients::orderBy('created_at', 'desc')->paginate(15); 
     $clients->count(); 


     return view('billing/clients/view', [ 
      'clients' => $clients 
     ]); 
    } 

и мой отображается результат

<table class="table table-bordered"> 
       <tr> 
        <th>Client Number</th> 
        <th>Client</th> 
        <th>Contact</th> 
        <th>Country</th> 
        <th>Phone Number</th> 
        <th>Mobile Number</th> 
        <th>Email</th> 
       </tr> 
       @forelse($clients as $client) 
       <tbody> 
        <tr data-clientid="{{ $client->id }}"> 
        <td>{{ $client->client_number }}</td> 
        <td>{{ $client->client_name }}</td> 
        <td>{{ $client->contact_name }}</td> 
        <td>{{ $client->country }}</td> 
        <td>{{ $client->phone_number }}</td> 
        <td>{{ $client->mobile_number }}</td> 
        <td><a href="mailto:{{ $client->email }}">{{ $client->email }}</a></td> 

Так что теперь я хочу, чтобы реализовать панель поиска, который будет искать в базе данных и возвращает результат в той же таблице выше адресной строке показаны результаты поиска результат.

Пожалуйста, помогите или совет кому угодно.

Спасибо и высоко ценится

ответ

1

1) Добавить панель поиска в View

<form method="GET" action="" role="search"> 
 
    <div id="custom-search-input"> 
 
    <div class="input-group col-md-12"> 
 
     <input type="text" name="q" class="form-control" placeholder="Search Member" value="{{Request::get('q')}}"> 
 
     <span class="input-group-btn"> 
 
      <button class="btn btn-info btn-lg" type="submit"> 
 
       <i class="glyphicon glyphicon-search"></i> 
 
      </button> 
 
     </span> 
 
    </div> 
 
    </div> 
 
</form>

2) Написать в контроллере

$clients = Client::getClients(); 
    $clients->count(); 


    return view('billing/clients/view', [ 
     'clients' => $clients 
    ]); 

3) Написать в клиенте Модель

public static function getClients() 
{ 
    $q = Request::get('q'); 
    $clients = DB::table('clients') 
     ->where(function ($query) use ($q) { 
      $query->orWhere('client_name', 'like', '%'.$q) 
        ->orWhere('contact_name', 'like', '%'.$q) 
        ->orWhere('phone_number', 'like', '%'.$q); 
     }) 
     ->orderBy('created_at', 'desc')->paginate(15); 

    return $clients;  
} 
+0

im получение следующей ошибки! .. Нестатический метод Symfony \ Component \ HttpFoundation \ Request :: get() не следует называть статически – edmond

+0

его нормально, его работа сейчас! спасибо .. Что теперь, если я хочу искать через базу данных с объединениями. как это работает?? Я немного потерян. спасибо @webistan – edmond

+0

Рад, что это работа. Не могли бы вы объяснить, с какой таблицей вы хотите присоединиться? – Webistan