1

Creating default object from empty value

Controller

public function updateLabor(Request $request)
    {
        $claims =  Claim::where('id', $request->id)->first();
        $claim_decode =  json_decode($claims->dynamodb_tabels_data,1);
        
        $data_claim = [];
        foreach($claim_decode['truck_estimating_result'] as $k=>$item){
            array_push($data_claim,$item);
            $data_claim[0][$k]->part_type->S = $request->part_type;
            $data_claim[0][$k]->labor_hr->N = $request->labor_hr;
            $data_claim[0][$k]->labor_type->S = $request->labor_type;
            $data_claim[0][$k]->paint_labor->N = $request->paint_labor;
            $data_claim[0][$k]->price->N = $request->price;
            $data_claim[0][$k]->part_taxed->N = $request->part_taxed;
            $data_claim[0][$k]->id->N = $request->id;
        }
        dd($data_claim[0][1]);

        $result = $claims->update(['dynamodb_tabels_data'=>json_encode($claim_decode)]);
        
        if($result) {
            return response()->json([
                'data_claim' => $data_claim,
            ]);
        }

    }

edit.blade view

$('#save-labor').on('click',function(){
            a =  confirm("Are you sure?");
            var url = window.location.pathname;
            var id = url.substring(url.lastIndexOf('/') + 1);

            var data = [];
            $("#truck_estimating_table tr").each(function(){
                if($("#part_type_select", this).length > 0){
                    data[$(this).attr('rowid')] = {
                        "part_type" : $("select[name='part_type_select']", this).val(),
                        "labor_type" : $("select[name='labor_type_select']", this).val(),
                        "labor_hr": $("input[name='labor_hr']", this).val(),
                        "paint_labor": $("input[name='paint_labor']", this).val(),
                        "price": $("input[name='price']", this).val(),
                        "part_taxed": $("input[name='part_taxed_db']", this).is(":checked"),
                        'id': $(this).attr('rowid'),        
                    }
                }
            });
            if(a != '' && data.length > 0){
            $.ajax({
            async: false, 
            type: "POST",
            url: "{{route('claim.updateLabor')}}",
            
            headers: { 
                'X-CSRF-Token' : $("[name='_token']").val()
            },
            data: {
                'data': data, 
                'id': id,
            },
            success: function(response) {
                // Toast message
                }
                })
            });

I'm trying to update the values that is inside the table with ajax and laravel but I get this error when I save "Creating default object from empty value". I don't know what is the problem. Please help me.

Mahdi Ayyad
  • 25
  • 1
  • 7

0 Answers0