我必须对我的数据库进行一个相当复杂的查询,并且看起来extbase查询无法完成我需要的工作(例如,我需要所有带有article-count> 0的类别).所以我创建了一个查询并使用exec_SELECTgetRows执行它 - 现在,有没有办法将结果映射回实体?
我会感激任何提示.
您可以通过手动触发来实现此目的PropertyMapper
.查看关于它的Flow文档.ExtBase中的概念是1:1相同.
您的案例中的一些示例代码可能如下:
$objectStorage = $this->objectManager->get(ObjectStorage::class); $propertyMapper = $this->objectManager->get(PropertyMapper::class); $dataArray = $this->db->exec_SELECTgetRows(...); foreach($dataArray as $data) { $dataObject = $propertyMapper->convert($data, \Your\Custom\Object::class); $objectStorage->attach($dataObject); }