如何在symfony 1.4中的表类中检索模型名称?

时间:2012-03-21 09:17:22

标签: php symfony-1.4

我在ModelTable内,我需要Model名称。例如:在EventTable的情况下,我需要知道它实例化的模型 - Event

在内部,以下函数已经实例化了正确的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();
    }
}

如何从表格中检索模型名称?

1 个答案:

答案 0 :(得分:3)

您可以为每个表(Doctrine / 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');