W klasie nadrzędnej (do, której może należeć n-rekordów) mam napisaną dla pojedynczego rekordu taką metodę, zwracającą n-rekordów połączonych:
class Application_Model_DbTable_Trainings_Row extends Zend_Db_Table_Row { public function getInstance($cond = NULL) { if ($cond !== NULL) { $m = new Application_Model_DbTable_TrainingInstance(); $s = $m->select()->where('date_start > ?', new Zend_Db_Expr('CURDATE()'))->order('date_start ASC'); return $this->findDependentRowset('Application_Model_DbTable_TrainingInstance', null, null, $s); } return $this->findDependentRowset('Application_Model_DbTable_TrainingInstance'); } }
Niestety po wywołaniu, rekordy nie są filtrowane, tzn. dostaje wszystkie. Mogę to co w prawdzie przefiltrować warunkiem w widoku ale na pewno nie jest to optymalne.
$instances = $v1->getInstance(true);