FatalErrorException:错误:在非对象中调用成员函数getId()

时间:2016-02-09 02:39:02

标签: php symfony

  

FatalErrorException:错误:在/home/project/src/Sample/MainBundle/Controller/SampleLogController.php第19行中的非对象上调用成员函数getId()

我正在使用Symfony v.2.3,今天我一直收到此错误。

这是我的控制器:

public function NewAction(Request $request){
    $user = $this->getUser()->getId();
    //var_dump($user);
    $repository = $this->getDoctrine()
    ->getRepository('SampleMainBundle:SampleLog');
    $sample_repository = $repository->findByUser($user);
    //...
}

MyEntities:

class SampleLog
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
    * @var integer
    *
    * @ORM\Column(name="user", type="integer")
    */
    protected $user;

    //...

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


     public function setUser($user)
    {
        $this->user = $user;

        return $this;
    }

   /**
     * Get userid
     *
     * @return integer 
     */
    public function getUser()
    {
        return $this->user;
    }

    //...
}

1 个答案:

答案 0 :(得分:1)

在访客用户中或未经过身份验证的用户操作“NewAction”您将收到此错误。您必须首先检查用户对象是否存在,而不是重定向到其他操作或逻辑。