| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Libraries > Zend 2 Db/adapter |
| Автор: vins32 7.4.2015, 17:34 |
| Привет всем, прошу помощи. Вопрос касается Zend\Db\Adapter В официальном мануале работают с TableGateway насколько я понял этот паттерн позволяет работать только с одной таблицей в БД, (все помнят Аlbum) Собственно вопрос, как организовать адаптер который позволит в модели работать с несколькими таблицами. Например в одном методе выборка с таблицы shops, в другом методе выборка с таблицы products Буду очень благодарен за ответ |
| Автор: Aliance 8.4.2015, 12:11 |
| Это идеалогически не верно: у каждой таблицы д.б. своя модель, причем только одна. Связь между таблицами (моделями) можно сделать нативными методами в Zend\Db\Adapter. Для запросов с join-ами можно использовать метод (пишу на память из 1 версии ZF, думаю во второй он так же остался) что-то типа ->setIntegrityCheck(false) |
| Автор: vins32 8.4.2015, 22:07 |
| Нормально когда 1 таблица = 1 модель, много моделей которые работают с 1 контроллером например IndexController и 4 модели ? |
| Автор: Aliance 9.4.2015, 08:30 |
| Конечно, так обычно и бывает. Например этот форум, если представить что просмотр топика это контроллер, то он бы задействовал модель топиков (для получения заголовка топика), модель постов (для получения списка постов в топике), модель пользователя (для получения инфы по авторам постов)... |
| Автор: vins32 9.4.2015, 21:14 |
| Спасибо, если знаком с ZF2 можно пример адаптера который создаётся в ServiceManager в конфиге module.config.php і в модели делаем конект к конкретной таблице БД. Понимаю суть пример как в коде написать ... |
| Автор: vins32 9.4.2015, 21:40 |
| Пример нашел сам вроде что-то такого http://zendframework.ru/forum/index.php?topic=6410.0 У меня вопрос есть, нормально в модели вызывать ServiceManager ? Я где-то читал что объекты из ServiceManager нужно вызывать только в Controller. |
| Автор: Aliance 13.4.2015, 10:48 |
| Вопросы по ZF2 в рамках этого форума можно (и, наверное, лучше) задавать в специальном месте: http://forum.vingrad.ru/forum/forum-329.html Ну а вообще это все-таки более узкоспециализированная тема, попробуйте спросить по zendframework.ru. Я работал с ним последний раз года 2 назад, сходу не готов вспомнить |