#javascript #php #laravel #laravel-5
#javascript #php #laravel #laravel-5
Вопрос:
Я пытаюсь преобразовать объект js в массив php, он работает, но внутри этого объекта есть еще объекты, которые также необходимо преобразовать в массив
вот как я конвертирую
$data = json_decode($order->data,true);
dd($data);
Результат
array:12 [
"paymethod_id" => 1
"business_id" => 76
"delivery_type" => "1"
"driver_tip" => 0
"delivery_zone_id" => 6569
"delivery_datetime" => null
"location" => array:2 [
"lat" => 18.7675049
"lng" => -103.1445221
]
"deliveryOptionmodal" => array:3 [
"id" => 2
"value" => "Esperar en la entrada"
"$$hashKey" => "object:525"
]
"delivery_cost_new" => 20
"products" => "[{"id":48732,"code":"NPxRSw","quantity":1,"options":[],"ingredients":[]}]"
"customer_id" => 129731
"customer" => "{"id":129731,"name":"bil","middle_name":null,"lastname":"ar","second_lastname":null,"photo":null,"email":"bilal1212@gmail.com","cellphone":"0213123132131","address":"Coalcomán, Michoacán, Mexico","location":"{"lat":18.7675049,"lng":-103.1445221}","internal_number":null,"address_notes":"sss","zipcode":null,"map_data":{"library":"google","place_id":"ChIJz6WGrUw-MIQR_jYIoFZ-RPM"},"tag":"home"}"
]
Вы можете видеть, что объект customer и product не преобразуются в массив, как я могу это сделать?
Комментарии:
1. Если они были строками до того, как они были упорядочены в js, они останутся строками в php. Вы можете видеть, что он корректно работает для location и deliverOptionmodal, поэтому ошибка, скорее всего, в js.
Ответ №1:
Проще говоря, вы отправляете JSON
кодировку JSON
объекта с уже закодированными свойствами. Вы можете отправить правильные данные, которые являются правильным решением, но иногда для устранения существующих проблем необходимо принимать неправильные решения.
Затем просто расшифруйте свойства, и все будет в порядке.
$data = json_decode($order->data, true);
$data['products'] = json_decode($data['products'], true);
$data['customer'] = json_decode($data['customer'], true);