0

I am having issue with handling a null values within a datatable. In short I have a table with outstanding fees, which has a default null value in the table and is updated the Date paid when the person makes the payment.

This my ajax request in my controller

 public function getTermFees(Request $request)
    {
        if($request->ajax()) {

           $termid = TermMapping::latest()->value('id');

           $termfees = TermFees::where('term_id', '=', $termid)->get();

           return DataTables::of($termfees)
            ->addColumn('first_name', function($termfees) {
                return $termfees->member->first_name;
            })
           ->addColumn('last_name', function($termfees) {
                return $termfees->member->last_name;
            })
            ->addColumn('membership', function($termfees) {
                return $termfees->member->membership_number;
            })

          ->addColumn('action', function($row){
                $btn = '<a href="'.action('MembersController@show', $row->member_id).'" target="_blank" title="View" class="btn btn-round btn-success"><i class="fa fa-info"></i></a>';

                return $btn;
            })

            ->editColumn('date_paid', function($termfees){
                return (is_null($termfees->date_paid) ? "-" : date('d/m/Y', strtotime($termfees->date_paid)));
            })

           ->make(true);
        }
    }

This is my view


<script>
    $(function() {

        var table=$('#termfee-table').DataTable({
            processing: true,
            serverSide: true,
            pageLength: 50,
            ajax: '{{ route('getTermFees') }}',
            columns: [
                { data: 'membership'},
                { data: 'first_name'},
                { data: 'last_name'},
                { data: 'status'},
                { data: 'date_paid', "defaultContent": "<i>-</i>"},
                { data: 'action', orderable: false, searchable: false}
            ],
        });
    })

</script>

Currently all fields in my Date Paid are showing "-" even if there is a date value in the table.

Any help would be great. Thanks

Brendan
  • 95
  • 1
  • 15

0 Answers0