0
我在Symfony 2上爲MongoDB安裝了FOSUserBundle,我想添加一些自定義字段,但它們總是空的。在Symfony 2和MongoDB中爲FOSUserBundle添加屬性
我UserBundle:
<?php
namespace Skurty\UserBundle\Document;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document(
* collection="user"
*)
*/
class User extends BaseUser
{
/**
* @MongoDB\Id(strategy="auto")
*/
protected $id;
/**
* @MongoDB\String
*/
protected $test;
public function setTest($test)
{
$this->test = $test;
}
public function getTest()
{
return $this->test;
}
}
控制器(未在同捆的UserBundle):
$user = $this->getUser();
// or
$user = $this->get('doctrine_mongodb')
->getRepository('SkurtyUserBundle:User')
->find(new \MongoId('...'));
// $user->getUsername() => 'skurty'
// $user->getTest() => null
而且MongoDB的文檔:
{ "_id" : ObjectId("..."), "username" : "skurty", /* FOSUserBundle fields */, "test" : "abc" }
有什麼不對?
謝謝
您是否清除了緩存?這可能是一個結果緩存問題。 – nifr
就是這樣,我完全忘了看它(我只更新了mongodb模式)......所以問題解決了,謝謝! – skurty
很高興我能幫忙:) – nifr