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;
}
//...
}
如果用戶未經過身份驗證,即未登錄,getUser不會返回對象。 – Cerad
@Cerald我該怎麼做那位先生?我該如何解決它:) –
在訪客用戶或未經過身份驗證的用戶在行動「NewAction」你會得到這個錯誤。你必須首先檢查用戶對象是否存在,而不是重定向到其他動作或你的邏輯。 –