2012-03-21 34 views
0

我在ModelTable裏面,我需要Model這個名字。例如:在EventTable的情況下,我需要知道它實例化的模型 - Event如何檢索symfony 1.4中的表類中的模型名稱?

內部下面的功能已經實例化一個正確Model

class EventTable extends Doctrine_Table 
{ 
    public function findBySomething($something) 
    { 
     // Will return a Event 
     return $this->createQuery('s')->fetchOne(); 
    } 
} 

我希望能夠做到:

class EventTable extends Doctrine_Table 
{ 
    public function findBySomething($something) 
    { 
     $modelName = $this->getModelName(); 
     echo "I will create a ".$modelName; // Will display Event 
     return $this->createQuery('s')->fetchOne(); 
    } 
} 

我如何從一個表中檢索模型的名字嗎?

回答

3

你必須爲每個表(教義/ Table.php)可用選項的數組:

protected $_options = array(
    'name'   => null, 
    'tableName'  => null, 
    'sequenceName' => null, 
    'inheritanceMap' => array(), 
    'enumMap'  => array(), 
    'type'   => null, 
    'charset'  => null, 
    'collate'  => null, 
    'treeImpl'  => null, 
    'treeOptions' => array(), 
    'indexes'  => array(), 
    'parents'  => array(), 
    'joinedParents' => array(), 
    'queryParts'  => array(), 
    'versioning'  => null, 
    'subclasses'  => array(), 
); 

所以,你可以使用來獲取型號名稱:

$this->getOption('name'); 
相關問題