Как я могу объединить таблицы в Zend, используя класс, унаследованный от Zend_Db_Table_Row_Abstract? - PullRequest
2 голосов
/ 15 июля 2010

У меня есть класс, расширяющий Zend_Db_Table, позволяющий называть его «Пользователи», который использует класс «Пользователь» (наследующий от Zend_Db_Table_Row_Abstract) в качестве своего rowClass. Мне это нужно, потому что у пользователя есть дополнительные методы, которые я использую.

Насколько я знаю, невозможно объединить таблицы внутри моего класса Users, поэтому я использую:

$ query = $ db-> select (); $ Query-> от (...); $ Query-> joinInner (...);

вместо

$ this-> выберите (); ...

Но тогда, конечно, строки, которые я получаю, не относятся к классу User. Поэтому я хотел бы знать, как я могу заставить свой запрос возвращать объекты пользователя вместо объектов строки.

Другим способом было бы получить Zend_Db_Table для создания этого объединения, и в этом случае я бы также получил то, что хотел.

1 Ответ

3 голосов
/ 15 июля 2010

Цитирование ответа Дэвида Каунта в связанном дубликате:

Поскольку Zend_Db_Table предоставляет функции шлюза строк, которые не работают, если вы присоединяетесь к другим таблицам, вы должны заявить, что готовы дать еговверх.Просто позвоните на setIntegrityCheck, и он будет работать:

$select->setIntegrityCheck(false);

...