Я разработал и закодировал функции табличных отношений в Zend Framework.
Ответ на ваш вопрос - нет, метод findManyToManyRowset()
извлекает только строки из связанной таблицы, но не объединяет их в соответствующий объект Row. Причина в том, что объект Row в ZF может save()
сам вернуться в базу данных, и если вы добавите поля, он не будет знать, что с ними делать.
Таким образом, вы должны реализовать пользовательский объект Row для хранения как пользовательских полей, так и коллекции пользовательских свойств - сохраните пользовательские свойства как объект Rowset.
Затем расширьте __get()
и __set()
, чтобы он знал, как сопоставить поля в правильный массив при чтении или записи свойств объекта. То есть, если кто-то пытается прочитать или записать поле, которое не является частью пользовательской строки, оно возвращается к пользовательским свойствам Rowset.
Также добавьте save()
, чтобы сохранить не только текущую строку, но и вызвать save()
в наборе свойств пользователя.