2

Type と Asset の 2 つのエンティティがあり、その定義を以下に示します。

Type->nameWeb アプリでアセットのリストを表示するには、 and を連結したアセット名を生成する必要がありますAsset->id(例: cat-158 または dog-15)。

getName()Type 名をフェッチし、それを Asset id と結合するメソッドを Asset Entity に追加しました。アセットを取得するときに結合ステートメントを使用して名前が作成されるように、注釈を使用してこれを行う方法はありますか? 基本的に、アセットをフェッチするときに適切な名前/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

これを試して ?

Class Asset extends Type{

}

于 2012-09-06T07:48:06.717 に答える