2011-01-14 2 views
0

Привет всем
ли Zend_Db_Table (Zend_Db_Table_*) поддерживает where для соответствующих данных, определяется через $_referenceMap/$_dependentTableZend_Db_Table "где" для отношений?

Как пример, у меня есть дневники (таблица: блоги) и регионы (таблица: регионы) классов, каждый блог у region_id :

|-------------|    |--------------| 
| regions  |    | blogs  | 
|-------------| 1  : m |--------------| 
| region_id | <----------- | region_id | 
| region_name |    | blog_id  | 
|-------------|    | blog_message | 
          | blog_enabled | 
          |--------------| 

И есть ли способ сделать что-то вроде:

$a = new Regions(); 
$a->fetchRow(1)->findBlogs(..., $a->getAdapter()->quoteInto('blog_enabled = ?', 1)); 

т.е. найти Region с region_id == 1, а затем найти все Blogs, что принадлежит к Region, и имеет blog_enabled == 1

+0

Если у вас есть объект Row, как результат запроса на родителе table, вы можете получать строки из зависимых таблиц, ссылающихся на текущую строку. Используйте метод: $ row-> findDependentRowset ($ table, [$ rule]); цитируется на этой странице http://framework.zend.com/manual/en/zend.db.table.relationships.html –

+0

yup, но не существует способа указать 'where' conds ... –

ответ

0

Найдены решение:

$a = new News(); 
$a->fetchRow()->findParentRegions($a->select()->where('region_enabled = ?', 1));