我有两个实体:类型和资产,您可以在其中看到以下定义。
为了在我的网络应用中显示资产列表,我需要生成一个资产名称,该名称是Type->name
和Asset->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 ...
}
答案 0 :(得分:-2)
试试这个?
类资产扩展了类型{
}