我有这种情况:
我在考虑以下可能的解决方案:
我在方法#1中看到的问题是:“Hotel1扩展了BaseHotel1”,“Hotel2扩展了BaseHotel2”。好吧,我会创建一个超类,然后是什么?
方法#2的问题是:我仍然远离“专业”Symfony开发人员,我不确定有问题的视图是否可以访问多个模型方法。也许来自另一个模块的渲染部分会起作用吗?
那么,我该怎么做?你认为我列出的问题很容易解决吗?你看到了另一种方法吗?
如果有,请分享您的想法。谢谢!
答案 0 :(得分:1)
我知道你已经标记了你的问题Propel,但是我会在这里使用Doctrine inheritance - 如果有一个Propel等价物 - 要么是'具体'还是'列聚合'(取决于如何你想存储你的数据)。从本质上讲,你最终会得到一个基础Hotel
类,然后你将会有Hotel1
和Hotel2
个类。
通过这种方式,您可以在酒店模型和表类中使用两种模型共有的方法,然后在Hotel1
和Hotel2
类中使用特定于酒店的方法。
编辑:刚刚找到the Propel equivalent,但此链接适用于Propel 1.5。看起来Propel 1.3似乎只支持'简单'继承类型。
答案 1 :(得分:0)
Doctrine在这里提供了一个很好的解决方案。看看column aggreation inheritance。也许Propel提供类似的东西,但我不熟悉推进...