Doctrine2 急切加载运行多个查询而不是 1 个

2023-11-26

我将 Symfony2 与 Doctrine2 (最新版本)一起使用,并定义了此关系:

/**
 * @ORM\OneToMany(targetEntity="Field", mappedBy="event", fetch="EAGER")
 * @ORM\OrderBy({"name" = "ASC"})
 */
protected $fields;

关系的另一边定义为:

/**
 * @ORM\ManyToOne(targetEntity="Event", inversedBy="fields", fetch="EAGER")
 * @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
 */
protected $event;

当执行“fetchOnyById”时,Doctrine 运行 2 个查询。 1 获取对象本身,1 获取相关字段。 我希望这是一个加入,但事实并非如此。

在控制器中完成后,我将对象传递给树枝。 在那里,我再次检索字段作为对象的属性。 这导致another要运行查询以再次检索字段。

显然我做错了什么,因为我期望只运行 1 个查询,而实际运行 3 个查询。


我相信发生这种情况的原因是因为您正在获取实体,而不是特定的查询。 Doctrine 的想法是,您正在获取对象,而不是与数据库交互,而是与对象资源交互,就好像它们都像存储的实体一样关联/引用。如果您需要像您所描述的那样的查询,那么最好使用 DQL,但此时您不会获取创建的实体,而是会获得自定义结果。

我希望这是有道理的。

基本上,您使用的默认关联是获取关联对象而不是联接查询。

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

Doctrine2 急切加载运行多个查询而不是 1 个 的相关文章

  • Symfony2 Twig 扩展

    我在实现树枝扩展时遇到一些问题 我需要创建自己的过滤器 子过滤器 所以我想到了使用twig扩展 我在 MyApp Bundle WebsiteBundle 和文件上创建了一个名为 Extension 的文件夹 网站扩展 php namesp
  • 更改 WhiteOctober TCPDF 捆绑包配置值

    我已经开始在我的 symfony 项目中使用 WhiteOctober TCPDF 包 但我不知道如何更改默认配置值 例如页面格式 我尝试将其放入我的 config yml 中 white october tcpdf tcpdf k tcp
  • 使用原则 2 的 UniqueEntity

    我正在使用 Zend Framework 2 并且创建了一个用户实体 现在我试图使用户名字段唯一 但是出现以下错误 Semantical Error The annotation UniqueEntity in class User Ent
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 如何从实体内部获取Web目录路径?

    我研究了如何用 Doctrine 处理文件上传 http symfony com doc current cookbook doctrine file uploads html我不想硬编码 DIR web this gt getUpload
  • 使用 Symfony 4 命令加载不同的 .env 文件

    env运行 Symfony 4 命令时会解析文件 如果 dotenv 可用 这在开发时工作正常 而且 我想测试我的代码 所以另一个环境 因此我需要加载另一个 env file 我喜欢 Docker 运行容器的方式 docker run e
  • 有没有一种简单的方法可以在 Symfony 中获取 ServerName?

    我一直在寻找一种简单的方法来获取 Symfony 在 Symfony 中运行的机器的 ServerName 以便我的应用程序在具有不同 ServerName 的主机上使用时进行调整 但我找不到 我在 app yml 中创建了一个变量并获取它
  • 如何使用变量处理树枝文件中的翻译?

    我有一个 twig 文件和一个 yml 在其中定义翻译变量 e g YML 文件 variable for translation Disponible para t Twig 文件的内容 h2 Hola Follow variableNa
  • 在 Symfony2 中测试 AJAX/XMLHttpRequest 页面功能

    是否可以在 symfony2 测试中模拟 发出 XMLHttpRequest 请求 ajax 使用 Problematic 答案搜索后 正确的语法是 crawler client gt request GET foo array array
  • 如何将所有请求查询参数传递给 twig symfony 2 中的嵌入式控制器?

    render controller SomeBundle Foo Bar HERE I WANT TO PASS ALL query parameters app request query all 那么我可以在子请求中访问所有主请求查询参
  • 在 Symfony2 dev env 控制器中捕获 swiftmailer 异常

    我不知道为什么我没有在我的控制器中捕获 Swiftmailer 的异常 我做错了什么 或者错过了什么 在控制器中我有 try this gt get mailer gt send email catch Swift TransportExc
  • JMSSerializer + 表单/数组

    我是 SF2 社区的新手 所以请放轻松 我遇到了 JMSSerializerBundle 和表单 数组的问题 我花了两天时间尝试自己解决这个问题 但没有成功 我决定将其发布到小组中 我正在构建一个简单的测试应用程序 它可以让我了解这些东西是
  • 将 Symfony2 服务配置移至捆绑包

    我的 config yml 中有以下内容 services my user provider class Acme MySecurityBundle Security UserProvider 但想将其移至我的 config ymlMySe
  • Doctrine2 命名查询

    我在 Doctrine2 中找不到任何有关命名查询的文档 请帮忙 Doctrine2 有命名查询功能吗 您可以使用 命名查询 DQL 例子 use Doctrine ORM Mapping NamedQuery use Doctrine O
  • 如何扩展 Sonata\DoctrineORMAdminBundle\Model\ModelManager

    我想在 ModelMangaer 中进行一些更改 然后我扩展了 ModelManager 但它不起作用 我不知道为什么 有人告诉我为什么它不起作用吗 我扩展 Sonata DoctrineORMAdminBundle Model Model
  • Laravel:Eloquent Eager Loading 关系的选择位置

    我有两个数据库表 Posts table gt increments id table gt integer country id gt unsigned table gt foreign country id gt references
  • symfony2 选择单选框的默认值

    我的项目是使用 Silex 和 Symfony 组件 即表单组件 编写的 我尝试创建一组从类中构建的单选按钮 并且我想预先选择其中一个单选按钮 我创建这样的表格 form app form factory gt createBuilder
  • 在 symfony2 中为特定控制器设置 max_execution_time

    Using ini set 我可以扩展最大执行时间一个脚本的 在Symfony2 我可以添加ini set to web app php and web app dev php将增加的执行时间应用于所有控制器 但在这种情况下 我只想扩展最大
  • 如何通过 Doctrine2 查询构建器获取随机行?

    到目前为止我有 qb1 this gt getEntityManager gt createQueryBuilder qb1 gt select s gt from My Entity Song s gt where s id lt gt
  • 翻译即时消息

    如果表单成功 我正在尝试翻译我发送的即时消息 正常的请求是这样的 request gt getSession gt getFlashBag gt add notice Your E Mail has been sent 所以我尝试使用以下变

随机推荐

  • 使用 spring3 @Value 访问 PropertyPlaceholderConfigurer 值?

    我正在尝试使用 spring bean 设置字符串的值 Value 当我的财产来源是的子类时PropertyPlaceholderConfigurer 有人知道怎么做吗 老问题 但仍然值得回答 您可以像使用原始表达式一样使用该表达式Prop
  • 如何通过 JObject 进行枚举?

    我正在尝试确定如何访问 JObject 中的数据 但我无法确定如何使用它 JObject Object JObject Response Data my key 我可以通过 Console WriteLine Object 将其打印到控制台
  • 内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self'”

    I use react create app构建我的 chrome 扩展 当我使用npm run build在react create app中我有错误 拒绝执行内联脚本 因为它违反了以下规定 内容安全策略指令 script src sel
  • 通过 Eclipse 调试 Pylons 应用程序

    我使用 PyDev 设置了 Eclipse 并且喜欢能够调试我的脚本 应用程序 我刚刚开始使用 Pylons 想知道是否有一种方法可以通过 Eclipse 启动 Paster 服务器 以便我可以调试我的 Web 应用程序 创建新的启动配置
  • Kotlin 中的 Getter 和 Setter

    例如 在 Java 中 我可以自己编写 getter 由 IDE 生成 或使用像 lombok 中的 Getter 这样的注释 这非常简单 然而 Kotlin 有默认情况下的 getter 和 setter 但我不明白如何使用它们 我想让它
  • jQuery 循环 pagerAnchorBuilder

    我正在使用 Cycle 插件在新闻旋转器中使用 这意味着我使用 Div 来填充幻灯片而不是图像 我的最终目标是制作一个寻呼机 而不是通常的 1 2 3 4 等 而是返回幻灯片中的第一个 H3 标签 我知道这可能是一个小选择问题 但这是我到目
  • 是否可以将自定义小部件添加到 QListView 中?

    我有大量日志数据 100 1000 100000 记录 我想通过以下方式将其可视化 哪个小部件 例如QListView QListWidget 我应该使用以及如何使用 以避免性能和内存问题 是否可以将自定义小部件添加到 QListView
  • 通过LTR和RTL内容的组合改变负数的方向

    这是我的 HTML 结构 div direction rtl span direction ltr div span 2 span div 这是预期结果 如你所见 符号应出现在数字的开头 我怎样才能做到这一点 Note 的方向div应该rt
  • 如何确定主语、宾语等词语?

    我正在尝试实现可以 通过将句子分成更小的部分来确定句子含义的应用程序 所以我需要知道哪些词是主语 宾语等 以便我的程序知道如何处理这个句子 这是一个开放的研究问题 您可以在维基百科上获得概述 http en wikipedia org wi
  • 如何使用 Node.js 将 Base64 编码的图像(字符串)直接上传到 Google Cloud Storage 存储桶?

    目前 我正在使用 google cloud 存储NPM 包可将文件直接上传到 Google Cloud Storage 存储桶 这需要一些技巧 因为我只有图像的 base64 编码字符串 我必须 解码字符串 将其另存为文件 将文件路径发送到
  • 我也可以通过单击其他元素来展开/折叠 JQuery ui Accordion 的内容吗?

    默认情况下 有内容标题来控制展开 折叠 但在我的情况下 我也可以通过其他元素展开 折叠内容 例如 jquery ui 手风琴代码的基本结构 div class demo div h3 a href Section 1 a h3 div p
  • 在python中按时间(TimestampType)连接两个spark数据帧

    我有两个数据帧 我想基于一列连接它们 但需要注意的是 该列是一个时间戳 并且该时间戳必须在一定的偏移量 5 秒 内才能连接记录 更具体地说 记录在dates df with date 1 3 2015 00 00 00应该加入events
  • 安装 pywin32 lib 后仍然收到错误“ImportError:没有名为 win32com.client 的模块”

    我已经从这里安装了 Python for Windows 扩展 库 http sourceforge net projects pywin32 files pywin32 但是当我在程序中导入 win32com client 时 我仍然收到
  • 与 Windows 7 兼容的最新 NodeJS [重复]

    这个问题在这里已经有答案了 我正在尝试为 Windows 7 安装 NodeJS 我尝试安装最新的 NodeJS 但它与 Windows 7 不兼容 我想知道是否有人知道可以在 Windows 7 上安装的最新版本的 NodeJS 是什么
  • 底层字符集是否仅取决于 C 实现?

    许多文本警告说 处理char整数值不可移植 例如假设 A 的值为 65 如 ASCII 所示 但是什么决定了该字符集是 ASCII 或扩展形式 还是其他字符集呢 是由操作系统决定的 还是由编译器决定的 我认为这不依赖于硬件 例如 Intel
  • C++ 向函数发送任何类型的参数

    事情是这样的 我想创建一个 void 函数 它将接收两种众所周知的值类型和另一种可以是任何类型的值 代码如下 void change settings string element short setting value switch se
  • 空感知函数调用? [复制]

    这个问题在这里已经有答案了 Dart 有一些空感知运算符 即可以执行以下操作 var obj obj foo foo is only called if obj null 这对于存储或传递给变量的函数也可能吗 通常的模式是 typedef
  • 禁用列表视图的交叉幻灯片选择

    我正在设计一个应用程序 它的中心有一个垂直平移的一维列表 用户可以通过翻转视图在列表之间水平翻转 当用户在列表视图中水平拖动时 它会选择该行 因为横向滑动 这不是我想要的行为 我最好希望 Flipview 开始左右平移 我认为这与rails
  • 允许在 Android Webview + jquery mobile 中进行远程 ajax 调用

    我正在使用 jquerymobile 开发一个 javascript HTML 应用程序 它向远程服务器发出 ajax 请求 该应用程序在 Chrome 上运行良好 仅在禁用网络安全的情况下启动 chrome 但是当我将其嵌入 Androi
  • Doctrine2 急切加载运行多个查询而不是 1 个

    我将 Symfony2 与 Doctrine2 最新版本 一起使用 并定义了此关系 ORM OneToMany targetEntity Field mappedBy event fetch EAGER ORM OrderBy name A