2016-12-16 3 views
0

Я новичок в codeigniter, и у меня есть некоторая проблема в объединении двух json-объектов на один объект json.присоедините два разных json к одному json в codeigniter

Вот мои JSON объекты:

Функции Модель

Функция 1:

function get_All_M_MNN($in_Name) { 

    $this->db->select('tbl_A_master.mk_id'); 
    $this->db->select('tbl_B_master.mm_id'); 
    $this->db->join("tbl_B_master", 'tbl_B_master.m_id = tbl_A_master.m_id', 'inner'); 
    $this->db->like('tbl_A_master.m_Name', $in_Name); 
    $this->db->from("tbl_A_master"); 
    $query = $this->db->get(); 
    return $query->result(); 
} 

Функция 2:

function get_All_Y_MNN($in_Name) { 

    $this->db->select('tbl_yr_master.*'); 
    $this->db->join('tbl_mm_master', 'tbl_mm_master.mk_id = tbl_mk_master.mk_id', 'inner'); 
    $this->db->join('tbl_yr_master', 'tbl_mm_master.mm_id = tbl_yr_master.mm_id', 'inner'); 
    $this->db->like('tbl_mk_master.m_Name', $in_Name); 
    $this->db->from("tbl_mk_master"); 
    $query = $this->db->get(); 

    return $query->result(); 
} 

Первый JSON выглядит следующим образом:

{ 
    "mk_id": "81", 
    "mm_id": "s1" 
} 

Второй JSON выглядит следующим образом:

{ 
    "mm_id": "s1", 
    "y_stt": "1", 
    "year": "2008" 
},{ 
    "mm_id": "s1", 
    "y_stt": "1", 
    "year": "2009" 
} 

mm_id одинакова в обоих JSON поэтому результат JSON должен быть таким:

{ 
    "mk_id": "81", 
    "mm_id": "s1", 
    "year": ["2008","2009"] 
} 

что означает secound JSON должен быть в первом json в год, используя тот же mm_id

Я пробовал разные вещи, например array_merge();, но не luc к.

+1

Попробуйте json_encode (array_merge (json_decode ($ а, правда), json_decode ($ Ь, правда))); Будет помогать в некоторой степени. Или сначала расшифруйте их до чистого массива и поиграйте с ними – rahulsm

ответ

0

Изменение SQL-запрос:

SELECT mk_id, mm_id, CONCAT('[', CONCAT_GROUP(year), ']') 
FROM ... 
GROUP BY mm_id 

вы должны получить что-н, как это:

81, s1, [2008,2009] 
Смежные вопросы