2

我有 2 个实体:类型和资产,您可以看到下面的定义。

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

我刚刚向getName()资产实体添加了一个方法,该方法获取类型名称并将其与资产 ID 连接起来。有没有办法使用注释来做到这一点,以便在获取资产时使用连接语句构建名称?基本上是资产实体上的一个属性,在获取资产时填充了正确的名称/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 ...
}
4

1 回答 1

-2

尝试这个 ?

资产类扩展类型{

}

于 2012-09-06T07:48:06.717 回答