Here is the response data
array:3 [▼ // app\Http\Controllers\DataSend.php:38
"status" => 200
"message" => "Consignment has been created successfully."
"consignment" => array:11 [▼
"consignment_id" => 139732775
"invoice" => "fddf51213"
"tracking_code" => "854272742CC"
"recipient_name" => "APi Test"
"recipient_phone" => "01900110011"
"recipient_address" => "address is here"
"cod_amount" => 1
"status" => "in_review"
"note" => "Handle with care"
"created_at" => "2025-04-21T05:53:11.000000Z"
"updated_at" => "2025-04-21T05:53:11.000000Z"
]
]
I want to insert this data to my database.
all data in $responses
variable
foreach ($responses as $response) {
$curDatains = new CurrierData();
$curDatains->orderId = 1;
$curDatains->orderInvoice = $response->invoice;
$curDatains->consignment_id = $response->consignment_id;
$curDatains->tracking_code = $response->tracking_code;
$curDatains->status = $response->status;
$curDatains->save();
}
in my code I face the error
Attempt to read property "invoice" on int
please try the below code if it works for you. I have tried with you above data.
$consignment = $responses['consignment'];
$curDatains = new stdClass(); //you can use your own $curDatains = new CurrierData(); here
$curDatains->orderId = 1;
$curDatains->orderInvoice = $consignment['invoice'];
$curDatains->consignment_id = $consignment['consignment_id'];
$curDatains->tracking_code = $consignment['tracking_code'];
$curDatains->status = $consignment['status'];
//use. $curDatains->save();
print_r($curDatains);
Result
stdClass Object
(
[orderId] => 1
[orderInvoice] => fddf51213
[consignment_id] => 139732775
[tracking_code] => 854272742CC
[status] => in_review
)