Laravel-datatables: الفلتر لا يعمل

تم إنشاؤها على ٤ فبراير ٢٠١٧  ·  3تعليقات  ·  مصدر: yajra/laravel-datatables

  public function getincome_ajax(Request $request)
        {
            $starts = $request->start;
            $ende = $request->end;
            $course = $request->course;

                $start = date('Y-d-m', strtotime($starts));
                $end = date('Y-d-m', strtotime($ende));


            if (($starts) && ($ende) && ($course))
             {
                             //here is problem when i want search with $starts and $end its not working
                $query = Subscription::whereDate('created_at','>=',$start)
                                                ->whereDate('created_at','<=',$end)
                                                ->where('course_id',$course)
                                                ->with('courses');
            }
             elseif(($starts) && ($ende))
             {
                                  //here is problem when i want search with $starts and $end its not working
                $query = Subscription::whereDate('created_at','>=',$start)
                                                ->whereDate('created_at','<=',$end)
                                                ->with('courses');

         }

             elseif($course)
             {
                                    //here if I search with only $course its working fine
                $query = Subscription::where('course_id',$course)->with('courses');

             }

            else
            {
                         $query = Subscription::with('courses');
            }

            $dataTable = Datatables::of($query)
      ->addColumn('total', function ($s) {
                 return $s->tution_fee + $s->development_fee + $s->late_fee + $s->other_fee ;
               })
                             ->editColumn('created_at', function ($user) {
                             return $user->created_at->format('d/m/Y');
                     });
       $columns = ['created_at', 'tution_fee', 'development_fee','late_fee', 'other_fee','total','courses.name'];
      $base = new DataTableBase($query, $dataTable, $columns);
      return $base->render(null);
        }

النصي

   <script src="/vendor/datatables/buttons.server-side.js"></script>
      <script src="/js/bootstrap-datepicker.min.js"></script>

       <script type="text/javascript">
          var oTable = $('#userstable').DataTable({
            processing: true,
            serverSide: true,
            dom: 'Bfrtip',
                 buttons: [
                     'copy', 'csv', 'excel', 'pdf', 'print'
                 ],
               processing: true,
               serverSide: true,
               ajax: {
                   url: '/acadmic/income/search_ajax',
                   data: function (d) {

                       d.course = $('select[name=course]').val();
                       d.start = $('input[name=start]').val();
                       d.end = $('input[name=end]').val();

                   }
               },
               columns: [
                            { data: 'id', name: 'id' },
                             { data: 'created_at', name: 'created_at' },
                             { data: 'tution_fee', name: 'tution_fee' },
                             {data: 'development_fee', name: 'development_fee'},
                             { data: 'late_fee', name: 'late_fee' },
                             { data: 'other_fee', name: 'other_fee' },
                             {data: 'total', name: 'total', orderable: false, searchable: false},
                             { data: 'courses.name', name: 'courses.name' },
               ]
           });

           $('#search-form').on('submit', function(e) {
               oTable.draw();
               e.preventDefault();
           });
       </script>

   <script type="text/javascript">

      $(document).ready(function(){
        $('#sandbox-container .input-daterange').datepicker({
    format: "dd/mm/yyyy",
    forceParse: false,
    autoclose: true
});
      })
  </script>
question

ال 3 كومينتر

يجب ألا تستخدم start كاسم حقل في طلبك لأنه يتم استخدامه بواسطة dataTables عند ترحيل النتائج.

نعم لقد غيرت ذلك وعمله وأيضًا مشكلة تنسيق تاريخ البيان إذا قمت بتغييرها وهي تعمل

yajra احفظ يومي! شكرا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

kamrava picture kamrava  ·  3تعليقات

techguydev picture techguydev  ·  3تعليقات

shadoWalker89 picture shadoWalker89  ·  3تعليقات

sangnguyenplus picture sangnguyenplus  ·  3تعليقات

nasirkhan picture nasirkhan  ·  3تعليقات