有人可以帮忙吗?我正在使用doctrine_mongodb,我正在尝试获取文档中所有键的值。我得到类型为integer,string和boolean的字段的值,但我的hash类型的字段返回值'null'
以下是我如何定义/documents/Scripts.php类脚本中的一个哈希字段
/**
* @MongoDB\Document(collection="scripts")
*/
class Scripts
{
/**
* @MongoDB\Id
*/
public $id;
/**
* @MongoDB\Hash
*/
public $properties;
由于
答案 0 :(得分:1)
我有同样的问题。对我来说,Hydrator是用旧值缓存的,并没有引用我添加的任何新的。
app/console cache:clear
app/console doctrine:mongodb:generate:documents BUNDLENAME
解决了我的问题。
答案 1 :(得分:0)
现在修复。我使用php类型数组在“/var/www/Symfony/app/cache/dev/doctrine/odm/mongodb/Hydrators/AtlasMpBundleDocumentScriptsHydrator.php”中手动创建了哈希类型字段。打开文件时很容易理解。
希望这有助于某人:)
答案 2 :(得分:0)
ODM项目中的功能测试GH453Test.php包括使用哈希映射字段的示例。如果在模型水合后看到null
属性,那是因为该字段不存在或者其值在MongoDB返回的文档中为null
。转换逻辑在HashType::convertToPHPValue()中非常简单。