我有两个表(只是一个例子):Cars
和Colors
.
一个Car
有一个Color
,所以如果存在一辆红色的汽车,我不能删除红色。简单的。
使用 ZF1,我可以在删除颜色之前通过使用findDependentRowset()
方法轻松验证这种依赖关系。
但是我怎么能在 ZF2 中做到这一点呢?
如果我只是让删除方法失败而不是抓住异常并打印一条消息,这是一种不好的做法吗?
谢谢!
我有两个表(只是一个例子):Cars
和Colors
.
一个Car
有一个Color
,所以如果存在一辆红色的汽车,我不能删除红色。简单的。
使用 ZF1,我可以在删除颜色之前通过使用findDependentRowset()
方法轻松验证这种依赖关系。
但是我怎么能在 ZF2 中做到这一点呢?
如果我只是让删除方法失败而不是抓住异常并打印一条消息,这是一种不好的做法吗?
谢谢!
findDependantRowset()
ZF2中不再直接实现。ZF2 倒退了一步,提供了完整的 ORM,而是简单地提供了更容易查询管理的功能。
这正是你的方法。Query for CAR
然后,您要么执行两个查询,要么Query Colords for CarColor
执行一个查询,同时查询这两个查询。后一个是更快的方法,第一个几乎是什么findDependantRowset()
。
如果您想要更多“神奇”功能,最好建议您查看许多优秀的 ORM 之一。例如,Doctrine 2 已经有一个非常简洁的 ZF2 实现,并且就 ZF2 而言似乎是一个社区标准。您可能想查看https://github.com/doctrine/DoctrineORMModule