Как отфильтровать данные, используя поле выбора в laravel - PullRequest
0 голосов
/ 09 ноября 2019

Я новичок в Laravel. мне нужно искать данные, используя фильтр из нескольких таблиц ... я уже сделал окно поиска, но мой коллега нуждается в поиске, и нам нужна опция фильтра. я сделал ajax-скрипт для поля выбора фильтра, но он не работает, мой идентификатор окна выбора - sel_stand sel_sub, я использую таблицы стандартов, темы

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    jQuery("#sel_stand").add("#sel_sub").change(function(e){
        e.preventDefault();
         var standard = jQuery("#sel_stand").val();

         jQuery.ajax({
           type:'POST',
           url:'/getsubjects',
           data:{
            standard:standard
           },
           success:function(data){
              alert(data.users);
              jQuery("#sel_sub").html(data.users);
           }
        });
    });
});
</script>

, и это мой контроллер Getubject

   public function getsubjects()

    {
        $input = request()->all();
        //echo $a=request()->standard.request()->subject;
         $users = DB::select('SELECT * FROM `topics` WHERE standard_id='.request()->sel_stand);
         $dta='<option value="">Select Subject</option>';
         foreach ($users as $key => $row){ 
         $dta.='<option value="'.$row->id.'">'.$row->subject_name.'</option>';
         }
         //echo $dta;
        return response()->json(['success'=>'Got Simple Ajax Request.','users'=>$dta]);
    }
}

1 Ответ

0 голосов
/ 09 ноября 2019

Попробуйте следующее:

public function getsubjects(Request $request){
    $users = DB::table('topics')->where('standard_id', $request->standard)->get();
    $dta = '<option value="">Select Subject</option>';
    foreach ($users as $key => $user){ 
        $dta .= '<option value="' . $user->id . '">' . $user->subject_name . '</option>';
    }

    return response()->json(['users' => $dta]);
}

Но я бы предпочел создать список опций в JavaScript, а не в PHP.

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