Witam,
Otóż mam pewien kłopot z relacjami w Zend_Db.
Mam klase:
class Global_Model_Users extends Db_Table_Users
{
public function getAll()
{
// Sposób 1
// To nie działa. Dlaczego ?
//$tbl_data = parent::fetchAll();
// Sposób 2
// to działa
$tbl = new parent;
$tbl_data = $tbl->fetchAll();
foreach($tbl_data as $row)
{
$data[] = $row->findDependentRowset('Db_Table_Acl_Users', null)->toArray();
}
}
Generalnie chodzi o to że nie mogę uzyć metody findDependentRowset() przy uzyciumetody fetchAll() w 1 sposobie.
Dostaje wtedy
Error: No reference from table Db_Table_Acl_Users to table Global_Model_Users
Mimo tego że mam referencję ustawione.
class Db_Table_Users extends Zend_Db_Table_Abstract
{
public $_name = 'users';
public $_dependentTables = array('Db_Table_Acl_Users'); }
class Db_Table_Acl_Users extends Zend_Db_Table_Abstract
{
protected $_name = 'users_acl';
protected $_primary = 'users_id';
protected
$_referenceMap = array( 'Db_Table_Users' => array( 'columns' => array('users_id'), 'refTableClass' => 'Db_Table_Users',
'refColumns' => array('id') )
);
}
Czym się różni:
new parent od
parent::