0

FOSUserBundle から継承した User クラスの get メソッドを使用したいと思います。しかし、私はエラーがあります:

致命的なエラー: オブジェクト以外でメンバー関数 getNom() を呼び出します。

私のユーザークラス:

<?php
namespace Olr\LoanBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

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

    /**
     * @ORM\Column(type="string", length=255)
     *
     */
    protected $nom;

    /**
     * @ORM\Column(type="string", length=255)
     *
     */
    protected $prenom;

    /**
     * @ORM\Column(type="string", length=50)
     *
     */
    protected $adresse;

    /**
     * @ORM\Column(type="string", length=50)
     *
     */
    protected $adresse2;

    /**
     * @ORM\Column(type="string", length=5)
     *
     */
    protected $cp;

    /**
     * @ORM\Column(type="string", length=50)
     *
     */
    protected $ville;


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

    /**
     * Set nom
     *
     * @param string $nom
     */
    public function setNom($nom)
    {
        $this->nom = $nom;
    }

    /**
     * Get nom
     *
     * @return string 
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Set prenom
     *
     * @param string $prenom
     */
    public function setPrenom($prenom)
    {
        $this->prenom = $prenom;
    }

    /**
     * Get prenom
     *
     * @return string 
     */
    public function getPrenom()
    {
        return $this->prenom;
    }

    /**
     * Set adresse
     *
     * @param string $adresse
     */
    public function setAdresse($adresse)
    {
        $this->adresse = $adresse;
    }

    /**
     * Get adresse
     *
     * @return string 
     */
    public function getAdresse()
    {
        return $this->adresse;
    }

    /**
     * Set adresse2
     *
     * @param string $adresse2
     */
    public function setAdresse2($adresse2)
    {
        $this->adresse2 = $adresse2;
    }

    /**
     * Get adresse2
     *
     * @return string 
     */
    public function getAdresse2()
    {
        return $this->adresse2;
    }

    /**
     * Set cp
     *
     * @param string $cp
     */
    public function setCp($cp)
    {
        $this->cp = $cp;
    }

    /**
     * Get cp
     *
     * @return string 
     */
    public function getCp()
    {
        return $this->cp;
    }

    /**
     * Set ville
     *
     * @param string $ville
     */
    public function setVille($ville)
    {
        $this->ville = $ville;
    }

    /**
     * Get ville
     *
     * @return string 
     */
    public function getVille()
    {
        return $this->ville;
    }
}

私のコントローラーから:

public function invitationAction($token)
{
    $em = $this->getDoctrine()->getEntityManager();
    $entity = $em->getRepository('OlrLoanBundle:User')->findBy(array('salt'=>$token));

    return $this->render('OlrLoanBundle:Tribu:invitation.html.twig',
        array('nom'=>$entity->getNom(),
              'prenom'=>$entity->getPrenom(),
            ));
}
4

1 に答える 1

5

findBy()を返すためarray、メソッドを呼び出すことはできません。

于 2013-02-11T21:40:57.640 に答える