php删除重复的返回

时间:2015-06-30 09:34:58

标签: php mysql

您好我的应用程序中有一个内容和媒体,它有一个可能的关系。例如,Titanic是内容,Youtube和WAP是媒体,现在如果内容有两个媒体存在,那么它返回两次我如何删除重复但保持媒体与逗号分开?喜欢(YouTube,WAP)

这是我的代码:

 ->select('DISTINCT(c.id) as id, c.title, c.sequence, c.sequence_count, c.category_sequence, c.unique_id, c.priority, c.status')
        ->addSelect('o.slug as owner')
        ->addSelect('cat.slug as category')
        ->addSelect('m.name as media')
        ->innerJoin('c.content_owner', 'o')
        ->innerJoin('c.category', 'cat')
        ->leftJoin('c.media', 'm')
       // ->groupBy('c.title')
        ->getQuery()
        ->getArrayResult();

  if (isset($contents['media'])) {

        $media[] = $contents['media'];
        foreach ($contents as &$content) {

            $content['media'] = implode('/',array_unique($media));


        }
    }

我试过这个但是没有用。它总是返回两次,任何帮助?

1 个答案:

答案 0 :(得分:2)

使用

->addSelect("GROUP_CONCAT(m.name SEPARATOR ', ') AS media")
...
...
->groupBy('c.id')