Group_concat或PDO :: FETCH_ASSOC

时间:2015-09-02 14:51:40

标签: php mysql pdo

基本上我正在尝试实现与下面链接中所述相同的内容 db field(GROUP_CONCAT) as array

我之所以写关于类似问题的原因是因为所有与我相关的答案都适用于我的案例的group_concat是2011年,2012年。所以我不确定这是否是现在最好的解决方案。

我到目前为止已经创建了这个

        $sql->select( array('a.id', 'a.user_id', 'a.title', 'a.created', 'a.published', 'b.title AS obtitle', 'b.items_id'))
        ->from($this->db->quoteName('table1', 'a'))
        ->join('LEFT', $this->db->quoteName('table2', 'b'). '
        ON (' .$this->db->quoteName('a.id').'='.$this->db->quoteName('b.items_id').')')
        ->where($this->db->quoteName('a.user_id') . ' =' . $this->db->quote($userid).' AND ' .$this->db->quoteName('a.published') . ' = 1')
        ->group($this->db->quoteName('b.item_id'));

        $query = $this->db->setQuery($sql);

我的问题是,使用group_concat仍然是正确的吗?或者是旧习惯(因此我只能找到旧的答案)? PDO :: FETCH_ASSOC更适合将具有公共id的结果合并到数组和子数组中吗?

1 个答案:

答案 0 :(得分:1)

group_concat没有任何问题,但PDO :: FETCH_ASSOC在分组任何内容方面都没有任何帮助。