Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我必须将一个对象保存到具有关系的数据库中,我是让那个 dao 自己完成所有保存,还是委托给其他 DAO。如果它应该委托给其他 DAO,应该在 DAO 本身中完成,还是在上面的层(如服务层)中完成?我会为此使用 ORM,除了在 PHP 中,还没有什么好东西存在。
我认为答案取决于所有权。
如果 Parent 拥有 Children,并且没有 Parent 就不可能创建 Child,那么它应该只是 ParentDao 而根本没有 ChildDao。
如果您可以创建没有父级的子级,则需要一个 ChildDao 来执行其 CRUD 操作。在这种情况下,您可以让 ParentDao 拥有对 ChildDao 的引用并将 Child CRUD 操作推迟到它。
我同意 duffymo 的回答——但对你的说法很感兴趣
我会为此使用 ORM,除了在 PHP 中,还没有什么好东西存在
我已经使用过Doctrine和Propel并且发现它们都非常有能力。我个人的偏好是 Doctrine,尽管 Propel 1.3 已经进行了大量改进