2 Stimmen

Doctrine2 kombiniert/verbunden Entitätseigenschaft

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X