Zend Db DependentRowset Magic Method

时间:2012-01-06 13:05:51

标签: php zend-framework zend-db magic-methods

我正在尝试使用Zend Db findBy()魔术方法,但它给了我这个错误:

Application error

Exception information:

Message: File "Game.php" does not exist or class "Game" was not found in the file

Stack trace:

#0 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Db\Table\Row\Abstract.php(872): Zend_Db_Table_Row_Abstract->_getTableFromString('Game')
#1 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Db\Table\Row\Abstract.php(1154): Zend_Db_Table_Row_Abstract->findDependentRowset('Game', NULL, NULL)
#2 C:\Zend\Apache2\htdocs\dev.gamenomad.com\application\controllers\GameController.php(125): Zend_Db_Table_Row_Abstract->__call('findGame', Array)
#3 C:\Zend\Apache2\htdocs\dev.gamenomad.com\application\controllers\GameController.php(125): Zend_Db_Table_Row->findGame()
#4 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Controller\Action.php(516): GameController->platformAction()
#5 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('platformAction')
#6 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#7 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#8 C:\Zend\ZendServer\share\ZendFramework\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#9 C:\Zend\Apache2\htdocs\dev.gamenomad.com\public\index.php(26): Zend_Application->run()
#10 {main}  
Request Parameters:

array (
  'controller' => 'game',
  'action' => 'platform',
  'x' => '2',
  'module' => 'default',
)

似乎它没有检测到Game.php,即使它存在于/application/models/DbTable/Game.php

我缺少任何规则或例外吗?

这是我的代码

public function platformAction()
    {
        // action body
        $platform = intval($this->_request->getParam('x'));
        $platformTable = new Application_Model_DbTable_Platform();

        $xbox360 = $platformTable->find($platform)->current();

        //$games = $xbox360->findDependentRowset('Application_Model_DbTable_Game');
        $games = $xbox360->findGame();
        if(isset($games))
        {
            if(count($games)>0)
            {
                foreach($games as $game)
                {
                    echo "{$game->name}<br />";
                }
            }
        }
    }

0 个答案:

没有答案