我已經在文件描述添加新條目的Symfony的MongoDB無法檢索新的字段值
/**
* @MongoDB\Field(type="string")
*/
protected $city;
然後讓教義產生的實體。現在新創建的記錄具有預期值的新字段「城市」。不過,我只能在mongo控制檯中看到這些值。在Doctrine輸出中,它們總是被設置爲「null」。實體條目似乎是正確的
public function getFirstName()
{
return $this->firstName;
}
/**
* Get city
*
* @return string $city
*/
public function getCity()
{
return $this->city;
}
我有倉庫
public function allQuery($cat)
{
$q = $this->createQueryBuilder()
->sort('createdAt', 'DESC');
if ($cat) {
$q->field('category.$id')->equals(new \MongoId($cat));
}
return $q;
}
和服務
function addAllPager($perPage = 10, $cat)
{
return $this->_addPager($this->repo()->allQuery($cat), $perPage);
}
在控制器
$helper = $this->get('appbundle.test.helper');
$tests = $helper->addAllPager(10, $cat);
Symfony的探查表明我查詢db.Test.find().sort({ "createdAt": -1 }).limit(10).skip(0)
。 $測試的傾銷內容
#firstName: "John"
#city: null
我失蹤了什麼?
編輯
緩存清除php bin/console cache:clear
解決了這個問題。 php bin/console doctrine:mongodb:cache:clear-metadata
還不夠。謝謝malarzm
。
請清除緩存並重新啓動Apache,這種情況通常源於未更新的水化器或尚未更新的緩存元數據。 – malarzm