Hi guys,
i am trying to create references between my model classes based on
Zend_Db_Table_Abstract but it does not function. I donĀ“t know why and so
I hope
someone of you guys can help me :-)
_I have 2 simple tables:_
flabben.article (id, [...], author_id)
flabben.author (id, [...])
*File:* _~/application/models/Article.php
_*?php*
*class* Article *extends* Flabben_Db_Table
{
*protected* $_name = 'article';
*protected* $_schema = 'flabben';
*protected* $_primary = 'id';
*protected* $_referenceMap = *array*(
'Author' = *array*(
'columns' = 'author_id',
'refTableClass' = 'Author',
'refColumns' = 'id'
)
);
}
*?*
*File:* _~/application/models/Author.php_
*?php*
*class* Author *extends* Flabben_Db_Table
{
*protected* $_name = 'author';
*protected* $_schema = 'flabben';
*protected* $_primary = 'id';
*protected* $_dependentTables = *array*('Article');
}
*?
*Now I am trying to get the depending author for the actual selected article
(in my application, this code is inside IndexController::indexAction).
*?php*
$articleTable = *new* Article;
$articles = $articleTable-find(1);
$article = $articles-current();
$article-findDependentRowset('Author');
*?
*But the result is an Exception :(
*Zend_Db_Table_Exception*
[0] No reference from table Author to table Article
#0
C:\Server\httpd\htdocs\Flabben\library\Zend\Db\Table\Row\Abstract.php(680):
Zend_Db_Table_Abstract-getReference('Article', NULL)
#1
C:\Server\httpd\htdocs\Flabben\library\Zend\Db\Table\Row\Abstract.php(723):
Zend_Db_Table_Row_Abstract-_prepareReference(Object(Author),
Object(Article), NULL)
#2 C:\Server\httpd\htdocs\Flabben\library\Flabben\Db\Table\Row.php(48):
Zend_Db_Table_Row_Abstract-findDependentRowset(Object(Author), NULL)
#3
C:\Server\httpd\htdocs\Flabben\application\views\scripts\index\index.phtml(23):
Flabben_Db_Table_Row-findDependentRowset('Author')
#4 C:\Server\httpd\htdocs\Flabben\library\Zend\View.php(46):
include('C:\Server\httpd...')
#5 C:\Server\httpd\htdocs\Flabben\library\Zend\View\Abstract.php(765):
Zend_View-_run('C:\Server\httpd...')
#6
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Action\Helper\ViewRenderer.php(860):
Zend_View_Abstract-render('index/index.pht...')
#7
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Action\Helper\ViewRenderer.php(881):
Zend_Controller_Action_Helper_ViewRenderer-renderScript('index/index.pht...',
NULL)
#8
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Action\Helper\ViewRenderer.php(929):
Zend_Controller_Action_Helper_ViewRenderer-render()
#9
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Action\HelperBroker.php(161):
Zend_Controller_Action_Helper_ViewRenderer-postDispatch()
#10
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Action.php(506):
Zend_Controller_Action_HelperBroker-notifyPostDispatch()
#11
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Dispatcher\Standard.php(242):
Zend_Controller_Action-dispatch('indexAction')
#12
C:\Server\httpd\htdocs\Flabben\library\Zend\Controller\Front.php(927):
Zend_Controller_Dispatcher_Standard-dispatch(Object(Zend_Controller_Request_Http),
Object(Zend_Controller_Response_Http))
#13 C:\Server\httpd\htdocs\Flabben\www\index.php(22):
Zend_Controller_Front-dispatch()
#14 {main}
-- Jan