表数据网关,级联一对多和Zend

时间:2011-03-02 11:14:51

标签: php design-patterns zend-framework

我是Zend Framework和OO设计模式的新手。

我有三张桌子:业主,商店和产品。一位业主有很多商店;每个商店都有很多产品。

我已经为三个表中的每一个扩展了Zend的DB Table Abstract,以及依赖于设置的表和参考映射。

如果我想查找特定所有者可用的产品,我首先使用Owner对象并使用findDependentRowset获取Shops的行集。然后我迭代行集以查找所有产品(再次使用findeDependentRowset)。

这样做有捷径吗?您如何使用表数据和行数据网关模式导航三个这样的表? (或者我应该转向数据映射器?)

感谢您的想法!

1 个答案:

答案 0 :(得分:2)

我认为您可以使用的是findManyToManyRowset方法。

例如,要查找给定所有者的产品,您可以执行以下操作:

$productsRowset = $ownerRow->findManyToManyRowset('Products_Table_Model','Shops_Table_Model');