Как вставить массив в пару ключ/значение json объекта в массиве codeigniterPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как вставить массив в пару ключ/значение json объекта в массиве codeigniter

Сообщение Anonymous »

Чего я пытаюсь достичь

Итак, чего я пытался достичь, так это вставить пару ключ/значение массива в объект JSON, который сам по себе является массивом, так что существует один объект, и одна из пар ключ-значение содержит массив.

ВОТ ЧЕГО Я ПЫТАЮСЬ ДОСТИГАТЬ как Вывод JSON, другой массив data2 внутри других данных массив.

Код: Выделить всё

   [
{
"data": {
"temp_service_id": "3",
"name": "health checkup",
"price": "10000",
"service_id": "41",
"data2": [
{
"fees": "2000",
"service_name": "Anaesthesiologist"
},
{
"fees": "300",
"service_name": "Andrologist"
},
]
},
}
]
Что я пробовал

ЭТО МОЙ КОНТРОЛЛЕР:

Код: Выделить всё

        $where['subtype_id'] = $this->post('org_id');
$where['is_active'] = 'Y';
$table_package_master = 'package_master';
$fetch_package_name = $this->$model_name->fetch($table_package_master,$where);
$array = [];
$array1 = [];
$array2 = [];
if($fetch_package_name){
foreach($fetch_package_name as $row){
$where_r['t1.package_num'] = $row->package_num;
$where_r['t1.is_active'] = 'Y';
$where_r['services.is_active'] = 'Y';
$where_r['t4.is_active'] = 'Y';
$fetch_packages1 = $this->$model_name->fetch_packages1($where_r);
$array['data'] = $fetch_packages1;
$fetch_packages = $this->$model_name->fetch_packages($where_r);
foreach($fetch_packages as $row1){
$where_re['services.service_id'] = $row1->service_id;
$where_re['services.is_active'] = 'Y';
$where_re['template_services.is_active'] = 'Y';

$fetch_package_ser = $this->$model_name->fetch_service_details($where_re);
array_push($array1,$fetch_package_ser);
}
}
$array['data2'] = $array1;
$array3 = [$array];
$this->response($array3);
}
ЭТО МОЯ МОДЕЛЬ:

Код: Выделить всё

             function fetch($table,$where_con){
$this->db->select('*')->from($table)->where($where_con);
return $this->db->get()->result();
}

function fetch_packages1($where){
$this->db->select('t3.temp_service_id,t4.name,t4.price,services.service_id');
$this->db->from('package_services as t1');
$this->db->join('services','services.service_id = t1.service_id', 'LEFT');
$this->db->join('template_services as t3','t3.temp_service_id = services.temp_service_id' , 'LEFT');
$this->db->join('package_master as t4', 't4.package_num = t1.package_num','LEFT');
$this->db->where($where);
$this->db->group_by('t1.package_num');
return $this->db->get()->row();
}

function fetch_service_details($where){
$this->db->select('services.price as fees,template_services.service_name');
$this->db->from('services');
$this->db->join('template_services','template_services.temp_service_id =
services.temp_service_id','LEFT');
$this->db->where($where);
return $this->db->get()->row();
}
По сути, я пытаюсь поместить объект данных в переменную $array, которая представляет собой данные, поступающие из одной таблицы, теперь я отправил данные из другого запроса в $ array1
Тогда в конце все, что я сделал, это array_push в $array3 все данные из $array1 и $array2, чтобы объединить их, но
МОЙ ВЫВОД ЭТО ВОТ:

Код: Выделить всё

         [
{
"data": {
"temp_service_id": "3",
"name": "health checkup",
"price": "10000",
"service_id": "41"
},
"data2":  [
{
"fees": "2000",
"service_name": "Anaesthesiologist"
},
{
"fees": "300",
"service_name": "Andrologist"
}
]
}
]
Что мне здесь не хватает? я очень запутался и не могу понять, как отправить массив data2.
Заранее спасибо :)

Подробнее здесь: https://stackoverflow.com/questions/590 ... iter-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»