php - 如何强制 Doctrine MongoDB ODM 文档代理转换为 'original' 文档?

标签 php mongodb doctrine-odm

我有一个文档用户中引用的文档人员。当我检索用户时,它没有嵌入一个人对象,而是一个人代理对象。有没有办法“强制”代理成为“完整”文档(所以 Person proxy => Person)。

我尝试调用一个方法来检索其他数据(因此触发了 __load,但对象仍然是“代理”版本。

我希望有人能比 ODM 的文档更清楚地说明这一点。

最佳答案

您可以通过 Priming References 完成此操作.

示例文档:

/** @Document */
class User
{
    /** @ReferenceOne(targetDocument="Person") */
    private $person;
}

/** @Document */
class Person
{
    // ...
}

使用 QueryBuilder:

/* @var $user User */
$user = $dm->createQueryBuilder('User')
    ->field('person')->prime(true)
    ->getQuery()
    ->getSingleResult();

关于php - 如何强制 Doctrine MongoDB ODM 文档代理转换为 'original' 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6280299/

相关文章:

php - 我在 ionic 3 中遇到错误 : Runtime Error Unexpected token < in JSON at position 0 when posting to php from ionic3

PHP:setcookie() 和 unset() 不删除 cookie

javascript - 将 RSS 提要导入 MongoDB

node.js - 如何使用mongodb聚合以下数据

zend-framework - ZendFramework,带有 mongoDB 的 Doctrine 2 ODM - Hydrator 错误

php - 学说 2 ODM : Querying ID field with MongoRegex with LIKE

php - 如何计算 PHP 中的 MySQL 数组值?

php - Laravel - 重命名表后 - 调用未定义的方法 updateOrCreate()

java - 通过Java加载任意javascript到Mongodb中,稍后调用

Symfony 4 Voters - 角色和权限问题