您好我的应用程序中有一个内容和媒体,它有一个可能的关系。例如,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));
}
}
我试过这个但是没有用。它总是返回两次,任何帮助?
答案 0 :(得分:2)
使用
->addSelect("GROUP_CONCAT(m.name SEPARATOR ', ') AS media")
...
...
->groupBy('c.id')