Ich habe 2 Entitäten: Type und Asset, für die Sie die Definition unten sehen können.
Um eine Liste von Assets in meiner Webanwendung anzeigen zu können, muss ich einen Asset-Namen generieren, der eine Verkettung von Type->name
y Asset->id
(z.B.: Katze-158 oder Hund-15)
Ich habe gerade eine Methode hinzugefügt getName()
an die Asset-Entität, die den Typnamen abruft und ihn mit der Asset-ID verknüpft. Gibt es eine Möglichkeit, dies mit Anmerkungen zu tun, so dass der Name mit einer Verknüpfungsanweisung erstellt wird, wenn das Asset abgerufen wird? Im Grunde eine Eigenschaft der Asset-Entität, die beim Abrufen des Assets mit der richtigen Kombination aus Name und ID gefüllt wird, ohne dass der Typ beim Aufruf von 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 ...
}