symfony2按属性排序对象集合

时间:2012-08-11 10:57:21

标签: symfony doctrine-orm twig

我有这样的实体:

class Categoria {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue
     */

    protected $id;

    /** @ORM\Column(type="string", length=100) */
    protected $nom;

    /** @ORM\Column(type="string", length=100) */
    protected $slug;

    /** @ORM\Column(type="decimal", precision=3, scale=0) */
    protected $ordre;

    /** @ORM\Column(type="boolean", nullable=true) */
    protected $actiu=FALSE;

    /** @ORM\Column(type="decimal", precision=4, scale=0, nullable=true) */
    protected $enllaç=null;

    /** @ORM\OneToMany(targetEntity="LoPati\MenuBundle\Entity\subCategoria", mappedBy="categoria", cascade={"persist", "remove"} )*/
     protected $subCategoria; 
public function __construct()
{
    $this->subCategoria = new \Doctrine\Common\Collections\ArrayCollection();

}

/**
 * Add subCategoria
 *
 * @param LoPati\MenuBundle\Entity\subCategoria $subCategoria
 */
public function addsubCategoria(\LoPati\MenuBundle\Entity\subCategoria $subCategoria)
{
    $this->subCategoria[] = $subCategoria;
}

/**
 * Get subCategoria
 *
 * @return Doctrine\Common\Collections\Collection 
 */
public function getSubCategoria()
{
    return $this->subCategoria;
}

class SubCategoria {

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue
 */

protected $id;

/** @ORM\Column(type="string", length=100) */
protected $nom;

/** @ORM\Column(type="string", length=100) */
protected $slug;

/** @ORM\Column(type="decimal", precision=3, scale=0) */
protected $ordre;

/** @ORM\Column(type="boolean", nullable=true) */
protected $actiu=FALSE; 

/** @ORM\Column(type="boolean", nullable=true) */
protected $llista=FALSE;

/** @ORM\Column(type="decimal", precision=4, scale=0, nullable=true) */
protected $enllaç=null;

/** @ORM\ManyToOne(targetEntity="Categoria", inversedBy="subCategoria") */

protected $categoria;

在Categoria实体中,我想按$ordre排序子类别对象的集合。

我怎么做?可以在Twig templeate或实体的定义中进行吗?

由于

此致

1 个答案:

答案 0 :(得分:34)

使用此注释:

/** 
 * @ORM\OneToMany(targetEntity="LoPati\MenuBundle\Entity\subCategoria", mappedBy="categoria", cascade={"persist", "remove"} )
 * @ORM\OrderBy({"order" = "DESC", "id" = "DESC"})
*/
protected $subCategoria;

...