"嵌套"使用Codeigniter在db响应中的数组

时间:2014-12-26 19:53:15

标签: php mysql arrays json codeigniter

我正在尝试创建一个"嵌套"我从数据库返回的对象中的数组。

每个"我可以有多个脚注"。

这是我目前要回来的:

JSON

{
"data": [{
        "id": "123",
        "type": "foo",
        "color": "bar",
        "footnote_id": "1",
        "footnote_text": " Footnote one"
    }]
}    

以下是我尝试生成的结果:

JSON

{
"data": [{
        "id": "123",
        "type": "foo",
        "color": "bar",
        "footnotes": [{
                "footnote_id": "1",
                "footnote_text": " Footnote one"
            },
            {
                "footnote_id": "2",
                "footnote_text": "Footnote two"
            }]
    }]
}

我有一个footnotes表,其中包含各种脚注(footnote_id等)。 我有一个type表,里面有各种各样的东西(type_id等)。 我还有一个type_footnotes表,只有两列:type_idfootnote_id

我不确定如何创建响应对象的footnotes属性 - 然后在该数组中显示结果。

感谢您的时间!

修改

这是查询 - 我以为我也发布了这个。道歉。

PHP

 public function get_thing($type_id) {
    $this->db->select('type.type_id, type.type, type.type_color');

    $this->db->join('footnotes', 'footnotes.footnote_id, footnotes.footnote_text');
    $this->db->join('type_footnotes, type_footnotes.type_id = type.type_id');

    $query = $this->db->get_where('type', array('type.type_id' => $type_id), 1);

    if ($query->num_rows() > 0) {
        return $query->result();
    }
}

1 个答案:

答案 0 :(得分:0)

删除限制,并在此处发布您获得的结果:

$query = $this->db->get_where('type', array('type.type_id' => $type_id));