値次にDoctrineはエンティティを生成してみましょう。新しく作成されたレコードには、期待どおりの値を持つ新しいフィールド「都市」があります。しかし、これらの値はmongoコンソールでしか見ることができません。 Doctrineの出力では、常に "null"に設定されます。エンティティエントリは
$helper = $this->get('appbundle.test.helper');
$tests = $helper->addAllPager(10, $cat);
symfonyのプロファイラは、クエリ私を示し
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);
}
コントローラーで持って正しいと思われます10。ダンプされた$テストの内容
#firstName: "John"
#city: null
私が逃しているものは何ですか?
php bin/console cache:clear
とEDIT
キャッシュのクリアが問題を解決しました。 php bin/console doctrine:mongodb:cache:clear-metadata
で十分ではありませんでした。ありがとうございますmalarzm
。
キャッシュをクリアしてApacheを再起動してください。このようなことは、通常更新されていないハイドラやキャッシュされていないメタデータ(まだ更新されていないもの)に起因します。 – malarzm