2012-07-11 2 views
4

С бета-версией 4 и последней версией бета-версии DB-Feature-Implementation, похоже, в значительной степени завершена. Есть несколько учебных пособий, в которых описано, как обращаться с одной базой данных с помощью шаблона TableGateway, но, похоже, для обработки M-N-отношений нет ни одного.Взаимозаменяемость M-N в Zend Framework 2

В ZF1 у нас было findDependantRowset() на TableGateway, которое было грязным, так как это просто второй запрос к базе данных, который в значительной степени не всегда необходим.

В ZF2 я ожидал, что будет иметь хорошее сопоставление Joins для указанных моделей, но я не могу найти что-либо в коде. Может быть, я слепой, может быть, действительно нет ничего подобного.

Сможет ли кто-нибудь из вас управлять соединениями и моделировать все вместе в ZF2? Если это так, пожалуйста, будьте так любезны, чтобы научить меня, как это сделать, намекнуть мне на конкретные пункты документации или связать мне какой-то блог-постер с тем, кто это сделал.

Спасибо заранее, ребята!

+0

Не разрешено, но в чате # zftalk.2 на freenode было намечено, что вы отправляете пользовательские запросы и сами сопоставляете их с соответствующими моделями или используете ORM, например Doctrine 2. Тем не менее, если у кого-то есть рабочее решение , Я с радостью приму ваш ответ;) – Sam

ответ

5

Очевидное решение, если вам нужно общее решение, - использовать Doctrine ORM или Propel.

Если вы хотите использовать Zend \ Db, то в рамках классов вашего конкретного шлюза таблицы вы должны написать конкретный метод, который извлекает правильные строки из связанной таблицы. Таким образом, вы можете убедиться, что SQL оптимизирован для требуемого запроса.

+0

Да, это именно то, что вы сказали вчера :) – Sam

+1

Да - я думал, что я отвечу на него здесь, чтобы он был записан для людей, которые находят этот вопрос :) –

+0

Это делает так много проще и сложнее в одно и то же время (^ _ ^). Мне нравится ZF2 –