Hy大家,当我试图获取用户的ID时,我的Bundle出了问题。
$user = $userManager->findUserById($tmpID['uid']);
$ tmpID [' uid'] 是用户的ID,当我尝试使用$ user-> getId()时,我获得了错误。
这是错误
FatalErrorException: Error: Call to a member function getId() on a non-object in /Applications/MAMP/htdocs/Api/src/Api/ApiBundle/Controller/DefaultController.php line 263
MyBundle \实体\ user.php的
<?php
namespace MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Entity\User as BaseUser;
/**
* @ORM\Entity
* @ORM\Table(name="user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
protected $description;
/**
* @var integer
*
* @ORM\Column(name="genre", type="integer", nullable=false)
*/
protected $genre;
/**
* @var string
*
* @ORM\Column(name="device", type="string", nullable=true)
*/
protected $device;
/**
* @var string
*
* @ORM\Column(name="avatar", type="string", nullable=true)
*/
protected $avatar;
/**
* @var string
*
* @ORM\Column(name="phone", type="integer", nullable=true)
*/
protected $phone;
public function __construct()
{
parent::__construct();
// your own logic
}
public function getDescription() {
return $this->description;
}
public function setDescription($description) {
$this->description = $description;
}
public function getGenre() {
return $this->genre;
}
public function setGenre($genre) {
$this->genre = $genre;
}
public function getDevice() {
return $this->device;
}
public function setDevice($device) {
$this->device = $device;
}
public function getPhone() {
return $this->phone;
}
public function setPhone($phone) {
$this->phone = $phone;
}
public function getAvatar() {
return $this->avatar;
}
public function setAvatar($avatar) {
$this->avatar = $avatar;
}
}
答案 0 :(得分:0)
当我去办公室时我得到解决方案! :)
在我的函数$tmpID
上是一个变量,当用户登录Symfony时,它具有用户的令牌。问题是我使用的用户令牌并不存在于DDBB中(是的,我在5分钟前删除了用户以获得该错误)
然后,我试图获得一个不存在的用户,这就是我NULL
$user
的原因
我希望我的问题可以帮助其他人。
P.S。感谢@Javad和@George的建议