【问题标题】:"Nested" array within db response using Codeigniter使用 Codeigniter 的数据库响应中的“嵌套”数组
【发布时间】:2015-02-24 00:19:36
【问题描述】:

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

每个“事物”可以有多个脚注。

这是我目前正在返回的内容:

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();
    }
}

【问题讨论】:

    标签: php mysql arrays json codeigniter


    【解决方案1】:

    取消限制,并在此处发布您得到的结果:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-08
      • 2017-05-28
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 2020-12-12
      相关资源
      最近更新 更多