我有一个模型“事件”(Zend_Db_Table_Abstract),它与其他模型有各种关系。通常我想我会做这样的事情找到它和它的关系:找到(1234)包括关系
$events = new Events();
$event = $events->find($id)->current();
$eventsRelationship1 = $event->findDependentRowset('Relationship1');
由于工作的关系已经建立,我想知道是否有任何形式的自动联接提供什么。每次我拿到我的活动,我都需要拥有所有的关系。目前我看到只有两种方法可以实现这一点:
- 自己构建查询,硬编码。不要这样,因为它正在解决已经建立的关系和“模型方法的便利性”。
- 使用单个查询获取每个相关对象。这个也很丑陋,因为我不得不触发太多的查询。
当考虑获取一组多行时,这甚至更进一步。对于单个事件,我可能会多次查询数据库,但是当获取100行联接时只是基本的。
那么,有没有人知道通过使用这些关系来创建连接的方法,或者除了硬编码查询之外没有别的办法吗?
在此先感谢
阿恩
http://www.survivethedeepend.com/zendframeworkbook/en/1.0/implementing.the.domain.model.entries.and.authors是另一个好读物。顺便说一句,这种模式允许你在同一模型中使用不同的源代码(比如我使用数据库后端和tex-backend作为内容,而前端/控制器没有任何区别:) – Fge