В CodeIgniter как json декодировать сериализованный массив из поста ajax?
Я хочу сохранить эти данные на основе property_id и item_definition_id.Здесь property_id
одинаково для этих двух сервисов.item_definition_id
и service_name
разные.
В этом проекте у меня есть 4 типа услуг.техническое обслуживание, add_on
, посадка и уборка.Ниже этого типа услуг есть 5-10 наименований услуг.
Я хочу сохранить эти данные, когда user(property_id)
выберите службы и нажмите кнопку сохранения (кнопка сохранения находится вне формы)
С консоли я получил сериализованный массив, подобный этому,
0:{name: "service_type", value: "main"}
1:{name: "service_name", value: "Maintenance"}
2:{name: "unit", value: "Per Visit"}
3:{name: "item_definition_id", value: "26"}
4:{name: "visits", value: "14"}
5:{name: "extra_charge", value: ""}
6:{name: "override_charge", value: "3600"}
7:{name: "maintenance.level1.type1", value: ""}
8:{name: "maintenance.level1.type2", value: "1"}
9:{name: "maintenance.level1.type3", value: "1"}
10:{name: "maintenance.level1.type4", value: ""}
11:{name: "maintenance.level1.type5", value: "6"}
12:{name: "maintenance.level2.type1", value: "4"}
13:{name: "maintenance.level2.type2", value: ""}
14:{name: "maintenance.level2.type3", value: ""}
15:{name: "maintenance.level2.type4", value: "4"}
16:{name: "maintenance.level2.type5", value: "1"}
17:{name: "maintenance.level3.type1", value: ""}
19:{name: "maintenance.level3.type2", value: ""}
20:{name: "maintenance.level3.type3", value: "1"}
21:{name: "maintenance.level3.type4", value: "1"}
22:{name: "maintenance.level3.type5", value: "4"}
23:{name: "maintenance.level4.type1", value: ""}
24:{name: "maintenance.level4.type2", value: ""}
25:{name: "maintenance.level4.type3", value: ""}
26:{name: "maintenance.level4.type4", value: ""}
27:{name: "maintenance.level4.type5", value: ""}
28:{name: "maintenance.level5.type1", value: ""}
29:{name: "maintenance.level5.type2", value: ""}
30:{name: "maintenance.level5.type3", value: ""}
31:{name: "maintenance.level5.type4", value: ""}
32:{name: "maintenance.level5.type5", value: ""}
33:{name: "contract_notes", value: "4 Hour monthly visit"}
34:{name: "internal_notes", value: ""}
35:{name: "service_type", value: "add_on"}
36:{name: "service_type", value: "add_on"}
37:{name: "service_name", value: "Gutter Cleaning"}
38:{name: "unit", value: "Per Visit"}
39:{name: "item_definition_id", value: "19"}
40:{name: "visits", value: "1"}
41:{name: "gutter_cleaning_linear_feet", value: ""}
42:{name: "gutter_cleaning_greater_than_15_feet", value: ""}
43:{name: "gutter_cleaning_cannot_walk_roof", value: ""}
44:{name: "extra_charge", value: ""}
45:{name: "override_charge", value: "348"}
46:{name: "contract_notes", value: ""}
47:{name: "internal_notes", value: ""}
48:{name: "property_id", value: "173"}
49:{name: "contractDate", value: "05/02/2019"}
50:{name: "contract_id", value: "1473"}
51:{name: "duration_months", value: "12"}
в функции контроллера
public function save_contracts(){
$data = json_decode($_POST['data'], true);
$newArr = [];
foreach ($data as $arr) {
foreach ($arr as $k => $v) {
if($k == 'name') $name = $v;
if($k == 'value') $value = $v;
}
$newArr[ $name ] = $value;
}
$UpdateItems = $this->current_model->UpdateContracts($newArr);
//echo $UpdateItems;
}
Здесь я получил последнее имя_сервиса.