我对此查询有滞后:
$result = $qb->select("p,s,t,w,ph")
->from("Entity\Property", "p")
->innerJoin("p.sub_type","s")
->innerJoin("s.type","t")
->innerJoin("p.web_info","w")
->leftJoin("p.photos","ph")
->where("w.publish_on_trovit > 0")
->andWhere("p.status=0")
->add("orderBy","p.id ASC,ph.display_order ASC")
->setFirstResult($offset)
->setMaxResults($limit)
->getQuery()
->getArrayResult();
问题是整个实体的负载,为了解决滞后,我只需要选择需要的表字段。
但是当我使用“p.id,ph.id”而不是“p,ph”学说 hidration 将结果数组更改为一个平面表,就像一个普通的 sql 连接。
有没有办法像上面查询的结果一样在 parenet->chields 结果集中只加载需要的字段?
谢谢!