2012-12-05 47 views
0

我有兩個表(僅舉例):CarsColors如何在ZF2中查找相關行集

其中一個CarColor,所以我不能刪除紅色,如果存在一個紅色的車。簡單。

使用ZF1我可以通過使用findDependentRowset()方法輕鬆驗證這種依賴關係,然後刪除顏色。

但是我怎樣才能在ZF2中做到這一點?

如果我只是讓刪除方法失敗,並抓住異常並打印消息,這是一個不好的做法嗎?

謝謝!

回答

1

在ZF2中不再有直接實施findDependantRowset()。 ZF2恢復了提供完整ORM的步驟,而只是提供了簡化查詢管理的功能。

而這正是你的方法。你要麼做兩個查詢Query for CAR然後Query Colords for CarColor或者你會做一個查詢,你同時查詢兩個查詢。後者是更快的方法,第一個幾乎是findDependantRowset()做的。

如果你想要更多的'魔術'功能,你最好建議檢出一個很好的ORM。例如,Doctrine 2已經有了一個非常整潔的ZF2實現,並且就ZF2而言,它似乎是一個社區標準。你可能想退房https://github.com/doctrine/DoctrineORMModule

+0

完美!我決定在開始使用Doctrine 2之前瞭解ZF2 tableGateway,因爲我仍在研究新的ZF版本。但是我肯定會在下一個項目中使用Doctrine 2。 =)感謝Sam的幫助! – vinigarcia87