我有 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 ...
}