Живой поиск данных с использованием laravel, но где условие не работает должным образом - PullRequest
2 голосов
/ 26 апреля 2019

Поиск данных в реальном времени с использованием larval, но там, где условие не работает должным образом. На самом деле, я хочу получить данные в результате, где столбцу is_admin присвоено значение NULL или 2, а идентификатор больше единицы. Но когда я искал, они не следовали этим условиям.

public function searchUserregistrationlist(Request $request)
    {
     if($request->ajax())
     {
      $output = '';
      $query = $request->get('query');
      if($query != '')
      {
       $userreg = DB::table('users')
               ->where('is_admin', '=', NULL)
               ->orWhere('is_admin', '=' , 2)
               ->where('id', '>', 1)
                ->where('name', 'like', '%'.$query.'%')
            ->orWhere('email', 'like', '%'.$query.'%')
             ->orWhere('mobile_no', 'like', '%'.$query.'%')
             ->orWhere('country', 'like', '%'.$query.'%')
                    ->get();

      }  

      $total_row = $userreg->count();
      if($total_row > 0)
      {
       foreach($userreg as $userregs)
       {
        $output .= '
        <tr>
          <td>'.$userregs->name.'</td>
                 <td>'.$userregs->email.'</td>
                 <td>'.$userregs->mobile_no.'</td>
                <td>'.$userregs->country.'</td>
                 <td>'.$userregs->created_at.'</td>';                
                if($userregs->is_admin == 2){
                $output .='<td style="color:red">Block</td>';
                }elseif ($userregs->is_admin == "NULL"){
                $output .='<td style="color:green">Active</td>';            
                }else{          
                $output .='<td style="color:green">Active</td>';    
                }
                $output .='<td><a href="userupdatelist/'.$userregs->id .'" class="btn btn-primary"><span class="glyphicon glyphicon-pencil"></span></i></a>
                        <a href="userregistrationlist/'. $userregs->id .'" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a>
                    </td>
                </tr>
        ';
       }
      }
      else
      {
       $output = '
       <tr>
        <td align="center" colspan="5">No Any Data List Found</td>
       </tr>
       ';
      }
      $userreg = array(
       'table_data'  => $output,
       'total_data'  => $total_row
      );

      echo json_encode($userreg);

     }   
    }

Это корневой файл, в котором я указываю маршрут web.php

Route::get('/searchUserregistrationlist', 'AdminController@searchUserregistrationlist');

/ * просмотр страницы и скрипта * /

<input type="text" name="searchUserregistrationlist" id="searchUserregistrationlist" placeholder="Search..." class="form-control">

<script>
$(document).ready(function(){
 fetch_usereg_data();
 function fetch_usereg_data(query = '')
 {
  $.ajax({
   url:"{{ URL::to('/searchUserregistrationlist') }}",
   method:'GET',
   data:{query:query},
   dataType:'json',
   success:function(data)
   {
    $('tbody').html(data.table_data);

    $('#total_records').text(data.total_data);
   }
  })
 }
 $(document).on('keyup', '#searchUserregistrationlist', function(){
  var query = $(this).val();
  fetch_usereg_data(query);
 });
});
</script>

1 Ответ

1 голос
/ 26 апреля 2019

Глядя на ваше Eloquent представление для генерации запроса, вот решение

$userreg = DB::table('users')
->where('id', '>', 1)
->where(function ($q)  {
    $q->whereNull('is_admin')
        ->orWhere('is_admin', '=', 2);
})
->where(function ($q) use($query) { // You can pass the necessary variables from the parent scope into the closure with the use keyword.

   $q->where('name', 'like', '%' . $query . '%')
        ->orWhere('email', 'like', '%' . $query . '%')
        ->orWhere('mobile_no', 'like', '%' . $query . '%')
        ->orWhere('country', 'like', '%' . $query . '%');
})->get();

Вот ссылка для использования пункта advanced где .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...