[PHP] [Doctrine] Jak z tablicy postów wybrać jeden post

Witam.

Programując forum natrafiłem na problem. Otóż, gdy pobieram z bazy danych Temat, który jest w relacji OneToMany z tabelą Posty, nie wiem, jak wybrać pojedynczy post z tablicy, która zostaje przekazana, gdy wczytam powiązane z Tematem elementy .Mógłby mi ktoś doradzić w jaki sposób mam tą tablice rozbić na pojedyncze elementy? próbowałem implode() ale to nie tędy droga chyba.

kod w kontrolerze

$em = $this->getDoctrine()->getManager();

    $temat = $em->getRepository('RonwellForumBundle:Temat')

     ->findSomething(1);

    $posts = $temat->getPosts();


    return new Response('Wczytano - '.$temat->getNick()." : ".$temat->getTemat().$posts->getTresc());

klasa Temat

class Temat

 {

    /**

      * @ORM\Id

      * @ORM\Column(type="integer")

      * @ORM\GeneratedValue(strategy="AUTO")

      */

     protected $id;


     /**

      * @ORM\Column(type="string", length=100)

      */

     protected $nick;


    /**

      * @ORM\Column(type="string", length=100)

      */    


     protected $temat;


      /**

      * 

      * @ORM\OneToMany(targetEntity="Post", mappedBy="temat")

      */

     protected $posts;


    /**

     * Constructor

     */

    public function __construct()

    {

        $this->posts = new \Doctrine\Common\Collections\ArrayCollection();

    }


#... Gettery i settery pominięte


/**

     * Get posts

     *

     * @return \Doctrine\Common\Collections\Collection 

     */

    public function getPosts()

    {

        return $this->posts;

    }

Klasa Post

class Post

 {

     /**

      * @ORM\Id

      * @ORM\Column(type="integer")

      * @ORM\GeneratedValue(strategy="AUTO")

      */

     protected $id;


     /**

      * @ORM\Column(type="string", length=100)

      */

     protected $nick;



     /**

      * @ORM\Column(type="text")

      */

     protected $tresc;


     /**

      * @ORM\ManyToOne(targetEntity="Temat", inversedBy="Post")

      * @ORM\JoinColumn(name="posts", referencedColumnName="id")

      */

     protected $temat;


# Gettery i Settery pominięte


 /**

     * Set temat

     *

     * @param \Ronwell\ForumBundle\Entity\Temat $temat

     * @return Post

     */

    public function setTemat(\Ronwell\ForumBundle\Entity\Temat $temat = null)

    {

        $this->temat = $temat;


        return $this;

    }


    /**

     * Get temat

     *

     * @return \Ronwell\ForumBundle\Entity\Temat 

     */

    public function getTemat()

    {

        return $this->temat;

    }

}

I klasa własna repozytorium

class TematRepository extends EntityRepository

{


     public function findSomething($id)

    {

    $query = $this->getEntityManager()

        ->createQuery('

            SELECT p FROM RonwellForumBundle:Temat p

            WHERE p.id = :id'

        )->setParameter('id', $id);


    try {

        return $query->getSingleResult();

    } catch (\Doctrine\ORM\NoResultException $e) {

        return null;

    }

    }



}