2016-02-09 98 views
1

FatalErrorException: Error: Call to a member function getId() on a non-object in /home/project/src/Sample/MainBundle/Controller/SampleLogController.php line 19FatalErrorException:錯誤:調用一個非對象的成員函數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; 
    } 

    //... 
} 
+4

如果用戶未經過身份驗證,即未登錄,getUser不會返回對象。 – Cerad

+0

@Cerald我該怎麼做那位先生?我該如何解決它:) –

+1

在訪客用戶或未經過身份驗證的用戶在行動「NewAction」你會得到這個錯誤。你必須首先檢查用戶對象是否存在,而不是重定向到其他動作或你的邏輯。 –

回答

1

在來賓用戶或不能在行動 「NewAction」 身份驗證的用戶,您將收到此錯誤。你必須首先檢查用戶對象是否存在,而不是重定向到其他動作或你的邏輯。

相關問題