设置 Doctrine2 实体属性而不检索整个关联对象

2023-12-30

我有一个表对象,它有 2 个外键字段(user_id 和 Teacher_id)。为 X 表生成实体后,该实体仅包含 $user 和 $teacher 属性,这迫使我使用关联的对象而不是 id。因此,假设我知道我的对象的 user_id 和 Teacher_id,而不是执行以下操作:

$object->setUserId(1)

我要做:

$user = $this->getDoctrine()->getRepository('MyBundle:Users')->find(2);
$object->setUser($user)

有没有办法直接使用 id 来避免检索与每个 id 关联的整个对象?


该框架建议在设置关联值时使用对象。不过,您确定该记录尚未加载到内存中吗?如果是,则不会导致额外的SQL语句执行。

如果您确实需要在不加载对象的情况下更新关联,您可以

  • 运行本机 SQL;
  • 尝试手动创建 Doctrine Proxy 对象并进行设置。

您可以使用以下方式获取代理对象EntityManager method getReference:

$object->setUser($this->getDoctrine()->getReference('MyBundle:Users', 2));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置 Doctrine2 实体属性而不检索整个关联对象 的相关文章

  • Doctrine OneToMany 关系错误

    我试图通过 Symfony2 2 3 0 使用 Doctrine 2 2 3 在数据库中的对象上建立一些 ManyToOne OneToMany 关系 但出现了一个奇怪的错误 以下是对象的相关部分 一种产品的许多属性 Product ORM
  • 类 Entities\USER_User 中的注释“@Doctrine\ORM\Mapping\Entity”不存在,或无法自动加载

    我想在我的 Zend 框架应用程序中结合使用 Doctrine 2 和 l3pp4rd DoctrineExtensions 但我只收到以下错误消息 Entities USER User 类中的注释 Doctrine ORM Mapping
  • Symfony2 createQuery 按字段排序

    你好 我在 phpmyadmin 中写了这个查询 它可以工作 gr8 SELECT u FROM users AS u WHERE u id 14469 OR u id 685 ORDER BY u id field u id 14469
  • 具有多对一关系的单表继承 (STI)

    我对 Doctrine 还很陌生 所以欢迎任何一般性建议 我正在努力实现以下目标 一个页面可以同时包含视频和照片 两者都是媒体并且共享属性 所以我认为单表继承是有意义的 以下是我的设置的相关部分 Page ORM Entity class
  • 如何使用 Doctrine Annotations 更改实体子类中的列名称?

    我正在将 FOSUserBundle 与一个新的 Symfony 项目一起使用 该项目必须使用现有架构 我的用户实体按照说明扩展了 FOS UserBundle Entity User 但电子邮件列被命名为 email addr 而不是 e
  • Symfony2 覆盖 User.orm.xml

    我需要覆盖这个 Symfony vendor friendsofsymfony user bundle FOS UserBundle Resources config doctrine model User orm xml 文件
  • Doctrine2 多对一双向关系不起作用

    我正在尝试在两个实体之间进行双向关联 问题是 从 Book 我可以得到它们的所有者 但从 Owner 我无法得到拥有的书籍 这是代码的重要部分 Acme BookBundle Entity Book ORM ManyToOne target
  • 在学说监听器中插入元素

    我已经设置了一个学说监听器 它在不同的数据库操作上触发并创建一个日志实体并将其插入数据库 class FOO public function onFlush OnFlushEventArgs args foreach args gt get
  • Doctrine2大合集

    在过去的几天里 我一直在玩doctrine2 ZF 设置 我仍然无法弄清楚的一件事是大型数组集合关联 例如 假设我们有一个名为 Post 的实体 每个帖子可以有很多评论 现在 如果我这样做 这将加载所有评论 post gt comments
  • Symfony2 - ReferencedColumnName id 为空

    我要放弃食谱文章了表单集合 http symfony com doc current cookbook form form collections html但是 当尝试将其保留到数据库时 我收到约束冲突错误 引用的列名称 id 为空 SQL
  • Doctrine 生成实体命名空间问题?

    好吧 我对原则有最后一个问题 生成 实体命令 我运行以下命令 并得到预期的文件 src MyNamespace Bundle MyNamespaceBundle Resources config doctrine metadata orm
  • Symfony:为什么 isInitialized 总是 false?

    我用教义查询了一个用户 customer this gt getDoctrine gt getRepository DemoUserBundle Customer gt find 1 但我得到了结果 顾客 1441 已初始化 错误的 ID
  • Doctrine DQL 从 join 返回平面数组

    我通过 DQL 中的常规 LEFT JOIN 选择 3 个实体 它们通过连接表关联 连接表还定义了实体以及带注释的关系 查询执行没有问题 但我的结果作为平面数组返回 我期望一个包含三个实体作为每个索引的数组元素的数组 SELECT e1 e
  • 原则 2 缓存:我可以将缓存与 Repository::find*() 一起使用吗?

    我是缓存新手 从文档中 我可以在查询中使用缓存 但是像这样的方法呢 em gt find Application Models project 1 如果你寻找一种自动性 我认为遮阳篷不是 他们不是这样的东西 我自己也在寻找这样的东西 您可以
  • Symfony:为 ManyToOne-OneToMany 关系嵌入表单集合

    我正在使用 Doctrine 和这三个 相关 实体运行 Symfony 2 3 出版物 Author and 作者发表 Both Author and 出版物具有多对一关系作者发表 所以它基本上是一个多对多关系Author and 出版物但
  • 表单未将帖子值绑定到实体

    我有一个学说实体 一个表单和 2 个字段集 当我用值填充实体时 值会按预期合并到表单中 当我尝试从表单数据创建实体时 它保持为空 我一定是忘记了什么 但就是找不到它 我还有其他几种没有字段集的表单 它们按预期工作 有任何想法吗 下面发布了我
  • 学说查询+LIKE表达式

    我在使用 LIKE 表达式创建 Doctrine 查询时遇到问题 QUERY dql SELECT u FROM Users u JOIN u group g WHERE g name LIKE lower ADMIN query em g
  • 如何使用 Doctrine 实体创建测试而不保留它们(如何设置 id)

    我正在为 Symfony2 项目进行测试 现在我正在寻找一种方法来创建涉及实体对象的测试而不保留它们 问题是 id是一个私有字段 并且没有设置器 我可以创建新对象并设置一些属性 但我无法测试涉及的任何内容getId calls entity
  • Symfony 2 中实体管理器和 phpunit 的问题

    我的 phpunit 中的实体管理器有问题 这是我的测试 public function testValidChangeEmail client self createAuthClient user password crawler cli
  • 如何在 Doctrine 中获取像 PDO::FETCH_COLUMN 这样的值?

    我有以下代码 repository this gt entitymanager gt getRepository Intlist Entity Location query repository gt createQueryBuilder

随机推荐

  • 如何设置 Popover 视图以正确关闭

    经过一番工作后 我得到了一个弹出视图 其中显示了一个自定义 uiview 显示正确 当您点击弹出窗口视图之外时 它会按预期关闭 但是我也希望它在点击其中的按钮时关闭 有谁可以帮助我吗 努力寻找简明指南 要手动关闭弹出窗口 您需要保留对它的引
  • 如何将 Membership Provider 与 Angular.js 和 ASP.Net MVC 4 结合使用?

    我对 Angular js 非常陌生 我想使用 Angular JS 和 ASP Net MVC4 创建一个新项目 我真的很困惑如何将 Angular JS 与 MVC 4 成员资格提供程序一起使用来执行用户身份验证和授权 我可以查看一些示
  • 类型错误:意外的关键字参数传递给优化器:learning_rate

    我正在尝试加载在 Azure VM 上训练的 Keras 模型 NC 促销版 但我收到以下错误 类型错误 意外的关键字参数传递给优化器 learning rate EDIT 这是我用来加载模型的代码片段 from keras models
  • 使用RAD清理工作空间环境的方法(基于Eclipse)

    启动 RAD7 时出现很多错误 服务器不响应类更改 有时服务器无法启动 有时 RAD 不会确认我添加到服务器的模块 这是一种越野车 我知道工作区中有元数据 是否有安全的方法来清理元数据或 RAD 其中 RAD Rational Applic
  • 检查 Elixir 中的 URL 是否有效

    我想检查给定的 URL 是否有效 最好是该 url 也能解析 首先 我将如何检查字符串有效性 即正则表达式 其次 有没有办法可以查看 URL 是否确实解析为互联网上的资源 Thanks 我不会使用正则表达式 而是使用 URI 包以文本方式验
  • 在 JSF 中使用复合组件在视图中重复组件 ID

    我在公司 继承 了一个 JSF 2 JSF 2 2 7 应用程序 并面临 java lang IllegalStateException 因为两个组件似乎具有相同的 ID 视图的结构如下 我提取了相关代码用于说明目的 它可能包含一些拼写错误
  • 仅当不通过 XCode 运行时,iOS 才会崩溃。巧合?

    我的应用程序仅在不使用 XCode 调试器运行时才会崩溃 很难跟踪 因为我无法调试 但我终于弄清楚了 这是因为对一些不属于我的对象调用了release 在我更正之前 我在这里搜索并发现了 2 个相关问题 链接如下 iOS 应用程序在设备上单
  • git 上有用于重置后的钩子吗?

    我有一些所有开发人员都必须更改的本地文件 我将文件标记为 假设未更改 但这并不能阻止它们在重置时发生更改 git 上是否有一个在 git 重置后执行的钩子 如果没有 有人对如何处理这种情况有建议吗 您可以找到以下列表Git 挂钩在这里 ht
  • 如何在 VC++ 中重新启动我自己的应用程序

    正在开发 VC 应用程序 弄清楚如何重新启动我自己的应用程序 有人可以举一些例子吗 编写一个程序 它将 等待您的应用程序终止 再次运行它 调用该程序 然后退出您的应用程序 该解决方案应用相当广泛 另外一个选择 使用特定参数调用您的应用程序
  • 使用分页集合时的 ​​Angularjs 承诺链

    我正在使用一个 REST api 它为 GET 请求提供分页响应 如下所示 count 43103 previous null next http ecoengine berkeley edu api photos page 2 resul
  • Android Studio 和 Gradle,@NotNull 参数的参数 0

    我正在尝试在 Android Studio 中使用 Gradle 制作一个应用程序 但我收到的只是以下错误消息 java lang IllegalArgumentException Argument 0 for NotNull parame
  • 将 Pandas 列表列拆分为多列

    我有一个带有一列的 Pandas DataFrame import pandas as pd df pd DataFrame teams SF NYG for in range 7 teams 0 SF NYG 1 SF NYG 2 SF
  • 多键字典,其中键顺序无关紧要

    我正在尝试创建一个以两个字符串作为键的字典 并且我希望键按任何顺序排列 myDict A B something myDict B A something else print myDict A B 我希望这段代码可以打印 其他内容 不幸的
  • 如何使用VisualVM获取每个函数花费的时间[重复]

    这个问题在这里已经有答案了 VisualVM 对我来说是一个很好但有点复杂的工具 我编写了一个具有许多功能的类 在 Eclipse 中 如何获取每个函数调用的次数以及执行过程中所花费的时间信息 其实很简单 运行您的程序 它将自动在 Visu
  • CreateFile() 返回 INVALID_HANDLE_VALUE 但 GetLastError() 为 ERROR_SUCCESS

    我正在使用打开串行端口创建文件 http msdn microsoft com en us library windows desktop aa363858 28v vs 85 29 aspx 我有一个测试用例 太复杂而无法重新分发 它始终
  • php 转 rtf,é 变为 é

    使用这个rtf类 http paggard com projects rtf generator 我看到我的特殊字符被转换 比如 becomes C3 A9 那部分可能不是问题 一旦我使用 php 标头将其放入 rtf 中 生成的字符 将被
  • 此帐户类型不允许使用访问选项。 options 参数必须为 nil。;

    我正在查看我的崩溃日志 我可以看到此崩溃 此帐户类型不允许使用访问选项 options 参数必须为零 这是我第一次遇到这样的崩溃 所以我不知道发生了什么 我对此进行了一些研究 发现这是由 Facebook SDK 引起的 但是 我不太确定它
  • 无法将类型 IEnumerable 隐式转换为 IQueryable

    模糊场景 一个人有零只 一只或多只宠物 使用 Linq to Sql 需要获得一个IQueryable给定 personID 的宠物列表 这是 ERD 中被严重破坏 屠宰 混淆的部分 Code public IQueryable
  • jquery ui 对话框停止工作 - 给出错误“无法调用未定义的方法‘mouseover’”

    我一直在我的应用程序中使用 jQuery UI 对话框 直到今天我尝试打开对话框时一切都很好 但什么也没发生 在控制台中 是 未捕获的类型错误 无法调用未定义的 鼠标悬停 方法 jquery ui js 第 162 行 and 获取数据 未
  • 设置 Doctrine2 实体属性而不检索整个关联对象

    我有一个表对象 它有 2 个外键字段 user id 和 Teacher id 为 X 表生成实体后 该实体仅包含 user 和 teacher 属性 这迫使我使用关联的对象而不是 id 因此 假设我知道我的对象的 user id 和 Te