繁体   English   中英

Symfony2 APYDataGridbundle多对多

[英]Symfony2 APYDataGridbundle ManyToMany

我正在使用Symfony2和APYDataGridBundle 在电影和流派对象之间,我有很多关系:

/**
* Film
*
* @ORM\Table(name="Film")
* @ORM\Entity(repositoryClass="Filmoteca\FilmoBundle\Repository\FilmRepository")
* @GRID\Source(columns="id, genres.genre")
*/

class Film
{

/**
 * @var \Filmoteca\FilmoBundle\Entity\Genre
 *
 * @ORM\ManyToMany(targetEntity="Genre", inversedBy="films")
 *          @ORM\JoinTable(name="genre_films")
 * 
 * @GRID\Column(field="genres.genre", title="Genre", filter="select", selectMulti="true)
 **/
private $genres;

在我的流派课程中:

/**
 * @ORM\ManyToMany(targetEntity="Film", mappedBy="genres")
 **/
private $films;

效果很好,但是对于每部电影的每种流派,都会显示不同的行。 我想获得一列显示所有流派的专栏。

我得到:(第1行)7 / Bandàpart /戏剧(第2行)7 / Bandeàpart / Commedy

但我希望看到一个包含所有流派的数组:(第7行)/乐队àpart /戏剧,喜剧

有任何想法吗? 谢谢!

你试过了吗:
@GRID\\Column(field="genres.genre:GroupConcat", title="Genre", filter="select", selectMulti="true")
并为源添加一个groupBy:
@GRID\\Source(columns="id, genres.genre:GroupConcat", groupBy={"id"})

如果GroupConcat无法立即使用,则必须按照APYDataGridBundle DQL函数符号文档中的说明添加原则扩展

我建议: https : //github.com/beberlei/DoctrineExtensions

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM