2016-12-16 22 views
0

我是codeigniter的新手,并且在将两个json对象连接到单个json对象时遇到了一些问题。将两个不同的json加入codeigniter中的单个json

这里是我的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"] 
} 

这意味着谢胜利JSON应该在第一个json中使用相同的年份mm_id

我尝试了不同的东西,如array_merge();,但没有luc ķ。

+1

试试这个json_encode(array_merge(json_decode($ A,真),json_decode($ B,真) ));在一定程度上会有所帮助。或者先将它们解码为纯数组并与它们一起玩 – rahulsm

回答

0

更改您的SQL查询:

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

你应该得到某事像这样:

81, s1, [2008,2009] 
相关问题