我有三个表incidents
,incident_properties
和property_types
。
我想做的是:
- 查询
incidents
表中的一行 - 检索其所有属性(键值行和 type_id)
- 对于每个属性,从
property_type
表中检索其类型
所以我建立了这个表关系 -
class Incidents extends Zend_Db_Table_Abstract
{
protected $_name = 'incidents';
protected $_dependentTables = 'Properties';
}
class IncidentProperties extends Zend_Db_Table_Abstract
{
protected $_name = 'incident_properties';
protected $_dependentTables = 'PropertyTypes';
protected $_referenceMap = array(
'Incidents' => array(
'refTableClass' => 'Incidents',
'refColumns' => 'incident_id'
)
);
}
class PropertyTypes extends Zend_Db_Table_Abstract
{
protected $_name = 'incident_property_types';
protected $_referenceMap = array(
'Properties' => array(
'refTableClass' => 'IncidentProperties',
'refColumns' => 'property_type_id'
)
);
}
在我的incidents
模型映射器中,我想做类似的事情:
$select = $this->_dbTable->select()->where('id = ?',$incident->get_id());
$incident_properties = $this->_dbTable
->fetchRow($select)
->findDependentRows('IncidentsProperties')
->toArray();
print_r($incident_properties);
$incident_properties
并在其类型行中检索属性键、值和类型。
任何想法如何以正确的方式实现这一目标?