2016-02-26 7 views
0

Мне нужно изменить все запросы, которые выполняются через Zend\Db перед отправкой их в БД.Изменить все запросы в Zend Db (добавить где)

В принципе, ему необходимо добавить дополнительный оператор WHERE ко всем выборам, обновлениям и удалениям, а также добавить дополнительные столбцы и значения в вставках.

Я думал о написании моей собственной TableGateway функции для того, проблема заключается в том, что я хотел бы избежать ограничиваюсь TableGateway в одиночку и иметь эту функциональность при использовании Zend\Db\Adapter и TableGateway одновременно.

ответ

1

Я закончил тем, что написал пользовательский адаптер db, который обрабатывает всю логику. Я, вероятно, поделюсь им как с открытым исходным кодом, если у меня будет время на очистку кода.

1

Вы можете посмотреть на некоторые события, отправляемые из шлюза таблицы, если это имеет смысл, в вашем контексте: http://framework.zend.com/apidoc/2.4/namespaces/Zend.Db.TableGateway.Feature.EventFeature.html

Существует событие предв, который запускается и который, вероятно, можно слушать.

+0

спасибо Томасу, проблема в том, что все «функции» предназначены только для «TableGateway», мне нужно иметь такую ​​гибкость при изменении запросов на уровне адаптера. – Adam