Symfony getData() 返回空值
Posted
技术标签:
【中文标题】Symfony getData() 返回空值【英文标题】:Symfony getData() return null value 【发布时间】:2019-05-15 10:57:57 【问题描述】:我是Symfony
的新成员,我有现有的Document
为User.php
,这是我的旧文件。
use FOS\UserBundle\Model\User as BaseUser;
class User extends BaseUser
/**
* @MongoDB\Id(strategy="auto")
*/
protected $id;
/**
* @MongoDB\Field(type="string")
*/
protected $name;
/**
* @MongoDB\Field(type="string")
*/
protected $email;
public function getId()
return $this->id;
public function setName($name)
$this->name = $name;
return $this;
public function getName()
return $this->name;
然后我需要添加新的归档电子邮件,然后我更改了User.php
,这里是更新的文件。
use FOS\UserBundle\Model\User as BaseUser;
class User extends BaseUser
/**
* @MongoDB\Id(strategy="auto")
*/
protected $id;
/**
* @MongoDB\Field(type="string")
*/
protected $name;
/**
* @MongoDB\Field(type="string")
*/
protected $email;
public function getId()
return $this->id;
public function setName($name)
$this->name = $name;
return $this;
public function getName()
return $this->name;
public function setEmail($email)
$this->email = $email;
return $this;
public function getEmail()
return $this->email;
然后我尝试获取电子邮件其显示null
的价值,我查看了我的数据库并且电子邮件字段中存在价值。这是我的代码。
$user = $this->dm()->getRepository('UserBundle:User')->find($id);
var_dump($user->getEmail());
我还使用以下命令删除了所有缓存。
php app/console doctrine:cache:clear-metadata
php app/console doctrine:cache:clear-query
php app/console doctrine:cache:clear-result
也可以使用rm -rf var/cache
删除缓存,但它仍然给出空值。
我怎么了?你能帮帮我吗?
【问题讨论】:
没有使用注释定义的电子邮件属性。 哎呀!我忘了在这里添加。我更新了我的问题。 尝试转储 $user ? @JulesR,是的,我检查了电子邮件也有空值。 但是你之前设置了吗? 【参考方案1】:电子邮件已在 Baseuser 中定义。也许你必须添加 parent::getEmail() 或完全删除 getter
【讨论】:
谢谢,我检查了 BaseUser.php,没有任何用于电子邮件的 Getter 或 Setter 方法。 FOSUserbundle 已包含它。因此,Getter 必须是 public function getEmail() $this->email = parent::getEmail();返回 $this->email;以上是关于Symfony getData() 返回空值的主要内容,如果未能解决你的问题,请参考以下文章