我有一个名为表:Zend_Db_Table_Abstract加载连接模型
客户端(ID,化名) 后(ID,主题) post_client(ID,POST_ID,CLIENT_ID)
许多客户可以加入到一个帖子。
使用Zend DB表抽象的我已经开始建立一个模型,这里是类:
ORM_Post
class ORM_Post extends Zend_Db_Table_Abstract {
protected $_name = 'Post';
protected $_dependentTables = array('ORM_Post_Client');
}
ORM_Client
class ORM_Client extends Zend_Db_Table_Abstract {
protected $_name = 'Client';
protected $_dependentTables = array(
'ORM_Post_Client'
);
}
ORM_Post_Client
class ORM_Post_Client extends Zend_Db_Table_Abstract {
protected $_name = 'Post_Client';
protected $_referenceMap = array(
'post' => array(
'columns' => 'post_id',
'refTableClass' => 'ORM_Post',
'refColumns' => 'id'
),
'client' => array(
'columns' => 'client_id',
'refTableClass' => 'ORM_Post_Client',
'refColumns' => 'id'
)
);
}
我希望待办事项是调用Post的实例,然后加载客户端关联以及加载客户端实例并加载所有关联的帖子。
所以我这样做:
$post = new ORM_Post();
$results = $post->fetchAll();
foreach ($results as $key => $result){
$row = $results->current();
$client = $row->findDependentRowset('ORM_Post_Client','client');
}
,我得到 参考规则“客户”未引用表ORM_Post
我有这个作战几个小时,看不到我要去哪里错了。我是否需要声明Post_Client加入客户端和发布模型?
编辑
这里是我后:
$post = new ORM_Post();
$results = $post->fetchAll();
$return = array();
foreach ($results as $result){
$row = $post->find($result->id)->current();
$return[$result->id] = $row->toArray();
$return[$result->id]['clients'] = $row->findManyToManyRowset('ORM_Client', 'ORM_Post_Client')->toArray();
}
return $return;
感谢您的意见家伙,你把我在正确的轨道上
谢谢你发现这一点。但它不能解决问题。我得到: 参考规则“客户”未引用表ORM_Post – azz0r 2012-02-04 09:12:15
也许尝试什么,我加入上述 – 2012-02-04 10:17:02