[英]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函数符号文档中的说明添加原则扩展
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.