Doctrine2组合/联接实体属性



我有两个实体:Type和Asset,您可以看到下面的定义。

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

我刚刚向资产实体添加了一个方法getName(),它获取类型名称并将其与资产id连接。有没有一种方法可以通过注释来实现这一点,以便在获取资产时使用连接语句来构建名称?基本上是资产实体上的一个属性,在提取资产时用正确的名称/id组合填充,而在调用getName()时不提取类型?

<?php
class Asset
{
    /**
     * @ORMId
     * @ORMGeneratedValue("IDENTITY")
     * @ORMColumn(type="integer")
     * @var integer
     */
    private $id;
    /**
     * @ORMManyToOne(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
{
    /**
     * @ORMId
     * @ORMGeneratedValue("IDENTITY")
     * @ORMColumn(type="integer")
     * @var integer
     */
    private $id;
    /**
     * @ORMColumn(type="string", length=200, unique=true, nullable=false)
     * @var string
     */
    private $name;
    // SNIP ...
}

试试这个?

类别资产扩展类型{

}

相关内容

  • 没有找到相关文章

最新更新