Symfony2 getId非对象错误

时间:2014-06-05 15:19:44

标签: php symfony fosuserbundle

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;
}

}

1 个答案:

答案 0 :(得分:0)

当我去办公室时我得到解决方案! :)

在我的函数$tmpID上是一个变量,当用户登录Symfony时,它具有用户的令牌。问题是我使用的用户令牌并不存在于DDBB中(是的,我在5分钟前删除了用户以获得该错误)

然后,我试图获得一个不存在的用户,这就是我NULL

获得$user的原因

我希望我的问题可以帮助其他人。

P.S。感谢@Javad和@George的建议