首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果使用查询构建器获取数据,则postLoad不起作用

如果使用查询构建器获取数据,则postLoad不起作用
EN

Stack Overflow用户
提问于 2018-12-07 15:16:54
回答 1查看 387关注 0票数 1

我已经创建了事件侦听器

代码语言:javascript
运行
AI代码解释
复制
class ProcessPostLoadListener
{
    public function postLoad(LifecycleEventArgs $args)
    {
        $em = $args->getEntityManager();
        $entity = $args->getEntity();
        if ($entity instanceof Process) {
              .
              .
              .
        }

    }
}

当我使用getRepository(Process::class)->find($id)获取数据时,将调用postLoad方法,并且我可以修改数据。

但是当使用查询构建器获取数据时

代码语言:javascript
运行
AI代码解释
复制
$qb = $this->createQueryBuilder('p')
    ->select('PARTIAL p.{id,answersInRelatedQuestionnaires}')
    ->where('p.id = :processId')
    ->setParameter('processId', $processId);

未调用postLoad。我能做什么?是否有其他事件可供监听?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-12-08 10:36:45

引用documentation教义

在将实体从数据库加载到当前EntityManager中或对其应用刷新操作后,实体会发生

PostLoad事件

这意味着只有在实体对象被消隐时才会调度PostLoad事件,而且只有在消隐模式被设置为HYDRATE_OBJECT时才会发生这种情况。由于您使用的是HYDRATION_ARRAY,因此会返回一个关联数组,并且没有实体对象会被合并,这就是PostLoad事件不会发生的原因。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53672283

复制
相关文章
解决MybatisPlus插件分页查询不起作用,总是查询全部数据问题
问题描述: 在使用mybatisplus插件进行分页查询时分页参数不起作用,总是查出来全部数据。
kirin
2021/03/04
4.4K0
百万数据查询优化技巧三十则
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行
用户1257393
2018/01/30
7590
mysql技巧:如果记录存在则更新/如果不存在则插入的三种处理方法
新增一个员工时,如果该员工已存在(以员工号f_emp_code作为判断依据),则更新,否则插入。而且工资f_salary,更新时,不得低于原工资(即:工资只能涨,不能降)。
菩提树下的杨过
2018/12/21
9.3K0
通过 Laravel 查询构建器实现复杂的查询语句
在上一篇教程中,我们通过查询构建器实现了简单的增删改查操作,而日常开发中,往往会涉及到一些更复杂的查询语句,比如连接查询、子查询、排序、分页、聚合查询等等,这一篇教程我们将围绕这些内容展开探讨。
学院君
2021/01/22
30.2K0
ThinkPHP5.1 子查询-使用 Group 获取每组最新数据
( 该查询方式利用了PHP的生成器特性,可以大幅减少大量数据查询的内存占用问题 )
泥豆芽儿 MT
2022/01/05
2.3K0
ThinkPHP5.1 子查询-使用 Group 获取每组最新数据
jenkins使用pipeline获取当前构建任务的构建人
pipeline中的全局变量,默认是不支持获取当前构建任务的构建人的,要想获取构建人的信息,只能通过插件来帮助我们获取
dogfei
2020/07/31
3K0
使用CDSW和运营数据库构建ML应用2:查询/加载数据
在本期中,我们将讨论如何执行“获取/扫描”操作以及如何使用PySpark SQL。之后,我们将讨论批量操作,然后再讨论一些故障排除错误。在这里阅读第一个博客。
大数据杂货铺
2021/02/07
4.1K0
【swoole】如果使用好定时器功能
开始使用定时器的时候我放到了 onWorkStart 中执行,这样做的话可以保证在单个worker进程的情况下定时器可以正常运行,但是对于swoole来说让它单进程工作显然辱没了它的 "才华" ,于是我将 work_num 设置为2 然后意外就发生啦,如图
码缘
2019/09/11
4670
【swoole】如果使用好定时器功能
POWER BI系统使用之数据集构建器
昨天周六,下午回学校有种是周日的错觉,以至于觉得今天是多出来的休息日,开心~hahaha~ 今天要写的内容是临时想到的,原计划写的文我就不立flag了,该它出来的时候它就会出来了...随缘随缘。(话唠本唠) 一些人在刚使用POWER BI奥威的时候,界面上很多名词会有些不太了解,所以今天就写一写名词的解释,只有了解了才能更好的使用它,对吧?对!下面以导入EXCEL表作为例子。
石璞东
2019/07/26
9580
SpringBoot中进行elasticSearch查询,使用QueryBuilders构建各类条件查询
BoolQueryBuilder对象使用must方法build,多个and使用多个must
翎野君
2023/07/21
1.7K0
GraphQL介绍&使用nestjs构建GraphQL查询服务
GraphQL介绍&使用nestjs构建GraphQL查询服务(文章底部附demo地址) GraphQL一种用为你 API 而生的查询语言。出自于Facebook,GraphQL非常易懂,直接看查询语
用户1141560
2018/03/30
3K0
使用Jenkins时,如果GIT_COMMIT无变化,跳过构建
A buildstep wrapping any number of other buildsteps, controlling their execution based on a defined condition (e.g. BuildParameter).
donghui
2019/04/19
2.5K0
使用Jenkins时,如果GIT_COMMIT无变化,跳过构建
多个构造器参数使用构建器
标题一眼看过去可能不是很明白要讲什么,先来看看下面一段代码。 1 package example; 2 3 /** 4 * 重叠构造器 5 * @author yulinfeng 6 * Feb 13, 2017 7 */ 8 public class Student1 { 9 private String name; 10 private int age; 11 private String sex; 12 13 public Stud
用户1148394
2018/01/09
9200
如何使用calcite构建SQL并执行查询
大家好,这是 Calcite 的第二篇文章了,我一直毫不掩饰对她的喜爱,而且一直在致力于为社区做一些贡献,如果你也喜欢这个项目的话,欢迎评论,转发,如果没看过第一篇的话,也欢迎移步去看看(手把手教你使用Calcite查看SQL执行计划)。如果你还不了解这个项目的话,我也希望能通过我,让你知道这个优秀的项目。
麒思妙想
2023/08/28
1.1K0
如何使用calcite构建SQL并执行查询
如果使用FileChannel.transferTo等方法获取的数据看似比传入的长度短时
该方法可以将一个输入性FileChannel的数据传输到一个WritableByteChannel去,如果你打开WritableByteChannel文件发现可见数据比你传入的长度小时可以考虑下文件是不是有BOM标识符,BOM是用于标识该文件是大小端的标识符,因为BOM是存在文件头的一种不可见字符,所以你拷贝的数据很有可能包含了这几个标识符(比如你从0开始传递数据,文件中又有BOM标识符),但不一定是每个文件都有。如果是程序导出的utf-8编码文件是不会有这种标识符的,但是人为操作要读取的文件之后有可能会引入BOM标识符,如下图所示:
johnhuster的分享
2022/03/28
6150
如果使用FileChannel.transferTo等方法获取的数据看似比传入的长度短时
Vue 中使用 JQuery 插件不起作用
有时候在 vue 的代码中使用 jQuery 会不起作用,这是因为 vue 还没有绑定变量,所以我们使用的 jQuery 根本就找不到目标变量,就不会执行,正确的做法是先设置一个时延,稍微等一等 vue 的加载。
wsuo
2020/10/26
2.3K0
使用链接服务器在异构数据库中查询数据
SQL Server提供了链接服务器用于分布式查询异构数据库。通过链接服务器可以链接到Oracle、Sybase、DB2、SQL Server等大型关系数据库,也可以连接到Access、Excel等文件数据库,甚至可以连接到目录服务(AD)、索引服务等。要链接到一种数据库需要使用相应的接口。微软为很多数据库提供了驱动接口,所以可以直接使用,但是对于没有提供驱动的数据库比如Sybase,则需要在服务器上安装对应数据库厂商提供的驱动。
深蓝studyzy
2022/06/16
4.3K0
Oracle 查询表空间使用率超慢问题一则
近期,在运维的数据库中有一套 11g 和 一套 19c 的环境,使用如下 SQL 查看表空间使用率时竟然需要 1~2 分钟才可以查看结果,两套数据库数据库也就百 GB 级别,为何会这么慢呢?
JiekeXu之路
2022/03/31
1.1K0
Oracle 查询表空间使用率超慢问题一则
点击加载更多

相似问题

如果查询中没有数据,则获取列

13

如果数据不为空,则使用where查询

32

如果使用变量构建,则重定向到页面不起作用

23

使用gradle构建MobileFirst,获取[android/init]超时,如果使用ant构建,则运行良好

10

Hibernate拦截器PostLoad

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文