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);
}
texto
<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>
No debe usar start
como un nombre de campo en su solicitud porque lo están usando las tablas de datos al paginar los resultados.
sí, cambié eso y está funcionando y también mi problema de formato de fecha de declaración if cambié y está funcionando
@yajra ¡ Me salvas el día! ¡Gracias!