ZF2将Join-Statement的ResultSet映射到不同的对象

时间:2012-09-26 12:53:40

标签: zend-db resultset zend-framework2

当涉及到提高性能时,减少单个SQL-Queries的数量就是其中的一部分。

现在让我们假设一个非常基本的例子:我有博客 -table和用户 -table。每个博客都通过给定的主键引用用户。

声明可能就像

SELECT blog.title, blog.text, user.name FROM blog, user INNER JOIN on blog.user_id = user.id

现在我的Blog- 对象我希望有一个$ user-property是User- 对象

我的问题:ZF2中是否有内置功能来处理这种情况?或者我是否需要手动将结果的每个字段映射到我的对象中?

提前致谢

1 个答案:

答案 0 :(得分:4)

不,ZF2没有内置功能来执行此操作 - 如果需要,您应该考虑Doctrine 2或Propel。

但是,使用Zend\Db,您可以在mapper类中编写此类SQL语句,然后使用ArraySerializable水合器填充博客实体。然后,博客实体populate()可以选择使用传递给它的用户数据创建用户对象。