Я использую Propel 1.3 вместо Zend_Db_Table.
Это сложно настроить, но круто.
Он может проверить вашу базу данных и автоматически сгенерировать все ваши модели.
Фактически генерирует 2 уровня и 2 типа модели.
Примеры для таблицы 'user':
Уровень 1: BaseModel и BasePeer: они перезаписываются каждый раз, когда вы восстанавливаете ORM. т.е. BaseUser.php & BaseUserPeer.php
Уровень 2: StubModel & StubPeer: они не перезаписываются. Это те, кого вы настраиваете. т.е. User.php & UserPeer.php
Тип 1: Модель - для базовых операций CRUD, а не для запросов, т. Е. User.php
Тип 2: Peer - для запросов. Это статические объекты. т.е. UserPeer.php
Итак, чтобы создать пользователя:
$derek = new User();
$derek->setFirstName('Derek');
$derek->save();
Чтобы найти всех дереков:
$c = new Criteria();
$c->add(UserPeer::FIRST_NAME, 'Derek');
$dereks = UserPeer::doSelect($c);