0

Symfony2 を使用しています。

これは私のオブジェクトプレーヤーです:

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity
 * @ORM\Table(name="player")
 */
class Player
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    protected $name;

    protected $urlAvatar;

    /**
     * @ORM\Column(type="integer")
     */
    protected $coins;

    /**
     * @ORM\Column(type="integer")
     */
    protected $money;

    /**
     * @ORM\OneToMany(targetEntity="Mercenary", mappedBy="player")
     */
    protected $mercenaries;

    public function __construct()
    {
        $this->mercenaries = new ArrayCollection();
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set coins
     *
     * @param integer $coins
     */
    public function setCoins($coins)
    {
        $this->coins = $coins;
    }

    /**
     * Get coins
     *
     * @return integer 
     */
    public function getCoins()
    {
        return $this->coins;
    }

    /**
     * Set money
     *
     * @param integer $money
     */
    public function setMoney($money)
    {
        $this->money = $money;
    }

    /**
     * Get money
     *
     * @return integer 
     */
    public function getMoney()
    {
        return $this->money;
    }

    /**
     * Add mercenaries
     *
     * @param IFZ\TowerofDimensionsBundle\Entity\Mercenary $mercenaries
     */
    public function addMercenary(\IFZ\TowerofDimensionsBundle\Entity\Mercenary $mercenaries)
    {
        $this->mercenaries[] = $mercenaries;
    }

    /**
     * Get mercenaries
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getMercenaries()
    {
        return $this->mercenaries;
    }
}

傭兵からの情報を読みたいのですが、方法がわかりません。Doctrine Collection を返しますが、それを進めてコレクションからすべてのアイテムを取得することはできません。それらをフィルタリングしたくありません。すべてのアイテムを取得したいだけです。読んでくれてありがとう。

4

1 に答える 1

0

ArrayCollection配列で行うのと同じように、 を反復処理できます。

foreach ($player->getMercenaries() as $mercenary) {
    // do whatever you want with $mercenary
}

または小枝で:

{% for mercenary in player.mercenaries %}
    {# do whatever you want with mercenary #}
{% endfor %}

コレクションから配列を取得することもできます。

$mercenariesArray = $player->getMercenaries()->toArray();
于 2012-09-28T06:15:14.683 に答える