Doctrine2合并/加入实体属性

时间:2012-09-04 12:09:58

标签: php doctrine-orm

我有两个实体:类型和资产,您可以在其中看到以下定义。

为了在我的网络应用中显示资产列表,我需要生成一个资产名称,该名称是Type->nameAsset->id的串联(例如:cat-158或dog-15)< / p>

我刚刚向资产实体添加了一个方法getName(),它获取了Type名称并将其与Asset id连接起来。有没有办法使用注释来执行此操作,以便在获取资产时使用join语句构建名称?基本上是资产实体上的属性,在获取资产时填充了正确的名称/ ID组合,而在调用getName()时没有提取类型?

<?php
class Asset
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue("IDENTITY")
     * @ORM\Column(type="integer")
     * @var integer
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="\Type")
     * @var \Type
     */
    private $type;

    /**
     * Constructs a name from the type and id
     * @return string
     */
    public function getName()
    {
        return $this->getType()->getName() . '-' . $this->getId();
    }

    // SNIP ...
}

class Type
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue("IDENTITY")
     * @ORM\Column(type="integer")
     * @var integer
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=200, unique=true, nullable=false)
     * @var string
     */
    private $name;

    // SNIP ...
}

1 个答案:

答案 0 :(得分:-2)

试试这个?

类资产扩展了类型{

}