sorry,i make a mistake,it isn't any errors on the table relationships.i am
so sorry.
Regards,
Jacky
2007/5/16, Jacky Chen <[EMAIL PROTECTED]>:
As the example in the manual of Zend_DB_Table_Relationships
<?php
class Accounts extends Zend_Db_Table_Abstract
{
protected $_name = 'accounts' ;
protected $_primary = array('account_id');
protected $_dependentTables = array('Bugs');
}
class Products extends Zend_Db_Table_Abstract
{
protected $_name = 'products';
protected $_primary = array('product_id');
protected $_dependentTables = array( 'Bugs');
}
class Bugs extends Zend_Db_Table_Abstract
{
protected $_name = 'bugs' ;
protected $_referenceMap = array(
'Reporter' => array(
'columns' => 'reported_by' ,
'refTableClass' => 'Accounts' ,
'refColumns' => 'account_id'
),
'Engineer' => array(
'columns' => 'assigned_to',
'refTableClass' => 'Accounts',
'refColumns' => 'account_id'
),
'Verifier' => array(
'columns' => array('verified_by'),
'refTableClass' => 'Accounts',
'refColumns' => array('account_id')
),
'Product' => array(
'columns' => array('product_id' ),
'refTableClass' => 'Products' ,
'refColumns' => array('product_id' )
)
);
}
?>
If the primary key of accounts table is id,and the table products or/and
bugs have the same primary key as the table accounts,id.
Now,the code above should change as following
<?php
class Accounts extends Zend_Db_Table_Abstract
{
protected $_name = 'accounts' ;
protected $_primary = array('id');
protected $_dependentTables = array('Bugs');
}
class Products extends Zend_Db_Table_Abstract
{
protected $_name = 'products';
protected $_primary = array('id');
protected $_dependentTables = array( 'Bugs');
}
class Bugs extends Zend_Db_Table_Abstract
{
protected $_name = 'bugs' ;
protected $_referenceMap = array(
'Reporter' => array(
'columns' => 'reported_by',
'refTableClass' => 'Accounts',
'refColumns' => 'id'
),
'Engineer' => array(
'columns' => 'assigned_to' ,
'refTableClass' => 'Accounts' ,
'refColumns' => 'id'
),
'Verifier' => array(
'columns' => array('verified_by'),
'refTableClass' => 'Accounts',
'refColumns' => array( 'id')
),
'Product' => array(
'columns' => array('product_id'),
'refTableClass' => 'Products',
'refColumns' => array('id')
)
);
}
?>
And then invoke the findManyToManyRowset method introduce errors.
sorry for my bad english.
Regards,
Jacky
2007/5/16, Bill Karwin <[EMAIL PROTECTED]>:
>
> Can you show the complete declaration of your $_referenceMap array?
> I'm having difficulty following your description.
>
> Regards,
> Bill Karwin
>
> ------------------------------
> *From:* Jacky Chen [mailto:[EMAIL PROTECTED]
> *Sent:* Tuesday, May 15, 2007 1:22 AM
> *To:* [email protected]
> *Subject:* [fw-general] is it a bug?
>
>
> Hi list,
> In Zend_Db_Table Relationships,if there are two or more tables with the
> same primary key in the table _referenceMap,exception would be throw.Idon't
know if it is a bug.
>
> Regards
> Jacky
>
>