Zf2 HydratingResultSet和多个实体

比卡什·波德尔(Bikash Poudel)

只是想知道ZF2的水合结果集是否可以水合多个实体。考虑以下代码段:

$sql = new Sql($this->adapter);
    $sqlObject = $sql->select()
        ->from([
            'ART' => 'acl_roles'
        ])
        ->join([
                'ARTT' => 'acl_role_types',
            ],
            'ART.type_id = ARTT.id',
            [
                'ARTT.id'         => 'id',
                'ARTT.identifier' => 'identifier',
                'ARTT.name'       => 'name',
                'ARTT.status'     => 'status',
                'ARTT.dateAdded'  => 'date_added',
            ],
            Select::JOIN_INNER
        )
        ->where([
            'ART.identifier' => $identifier,
        ])
        ->columns([
            'ART.id'          => 'id',
            'ART.type_id'     => 'type_id',
            'ART.identifier'  => 'identifier',
            'ART.name'        => 'name',
            'ART.status'      => 'status',
            'ART.description' => 'description',
            'ART.dateAdded'   => 'date_added',
        ]);

现在,如果查询在单个实体上,则可以执行以下操作:

$stmt = $sql->prepareStatementForSqlObject($sqlObject);
$resultset = $stmt->execute();
if ($resultset instanceof ResultInterface && $resultset->isQueryResult()) {
    $hydratingResultSet = new HydratingResultSet(new ArraySerializable, new EntityClass);
    $hydratingResultSet->initialize($resultset);
    return $hydratingResultSet->current();
}

但是,就我而言,我需要一个水合结果集,以便能够构建和返回多个实体(即AclRoleEntity和AclRoleTypeEntity)。这有可能吗?如果是,则如何(考虑结果集是两个实体的组合的平面数组)。如果没有,是否有更好的替代方法可以在不使用教义/推进的情况下实现?

谢谢

蒂姆·克莱沃(Tim Klever)

完全有可能,您只需要配置的(可能是自定义的)Hydrator。

您的水化器将需要了解将参数从平面数组注入到对象中的逻辑,以及如何在提取时将对象模型还原为平面数组。

您可能正在查看一些水合器策略或水合器命名策略,并且可能两者兼而有之。

使用正确的水化器,您可以实现所需的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Zf2 HydratingResultSet和多个实体

来自分类Dev

ZF2保存到多个表

来自分类Dev

ZF2水化器和阵列

来自分类Dev

ZF2中的Acl和RBAC

来自分类Dev

ZF2导航和站点地图

来自分类Dev

ZF2 /原则ORM身份验证不同的实体

来自分类Dev

用理论实体水合ZF2形式

来自分类Dev

ZF2和Doctrine2:模拟EntityRepository :: findOneByField

来自分类Dev

编辑多体关联理论2和zf2

来自分类Dev

使用ZF2更新类更新多个表

来自分类Dev

在zf2左联接中应用多个条件

来自分类Dev

设置和访问变量错误页面ZF2

来自分类Dev

ZF2中InputFilterAwareInterface和InputFilterProviderInterface之间的区别

来自分类Dev

ZF2从路线获取控制器和动作

来自分类Dev

ZF2表单验证-不重叠的日期和时间

来自分类Dev

ZF2 Mail UTF-8和Outlook Express

来自分类Dev

ZF2初始化程序和TranslatorAwareInterface

来自分类Dev

ZF2从路线获取控制器和动作

来自分类Dev

zf2和doctrine2 ObjectRadio从相关实体获取可变条件

来自分类Dev

zf2 doctrine2如何在实体列中使用tinyint数据类型

来自分类Dev

ZF2、Doctrine2、Gedmo - 具有关联的 SoftDelete JTI 实体

来自分类Dev

ZF2 +主义-实体-如何从实体访问相关数据并对它做些什么?

来自分类Dev

Doctrine2和zf2:将fetchAll()结果转换为JSON,然后将结果转换为数组,然后在ZF2中转换为json

来自分类Dev

ZF2如何在抽象实体类中注入服务定位器或插件

来自分类Dev

用户在zf2项目的学说实体中的PrePersist上创建的引用集

来自分类Dev

用户在ZF2项目的学说实体中在PrePersist上创建的引用集

来自分类Dev

如何在实体类中使用URL ZF2

来自分类Dev

如何在zf2中为ManyToOne单向原则映射配置实体

来自分类Dev

ZF2 Form和Doctrine 2修改value_options

Related 相关文章

热门标签

归档