Symfony2 - doctrine获取表创建顺序

时间:2015-08-09 12:21:17

标签: php mysql symfony doctrine-orm

我正在使用Symfony 2.7,doctrine 2,MySQL。 我试图在发出

时检测控制器中的表创建顺序
  

php app / console doctrine:generate:schema --dump-sql

但我只需要表名。 所以,例如,如果我有两个表,如 产品 - 类别我希望输出如下所示:数组('类别','产品')

在这里使用this documentation到目前为止我所做的事情:

public function getTablesCreationOrderAction()
{
    $conn = $this->get('database_connection');
    $sm = $conn->getSchemaManager();
    $sequences = $sm->listSequences($this->getParameter('database_name'));
    die();
}

$ sequences = $ sm-> listSequences。

引发异常

这是我得到的例外:

  

操作' Doctrine \ DBAL \ Platforms \ AbstractPlatform :: getListSequencesSQL'平台不支持。

我不知道这是否意味着MySQL不支持该操作。

谢谢!

2 个答案:

答案 0 :(得分:1)

是的,但似乎该功能尚未实现,因为这是AbstractPlatform的源代码,您会看到:

public function getListSequencesSQL($database)
{
    throw DBALException::notSupported(__METHOD__);
}

现在这意味着覆盖AbstractPlatform的平台必须覆盖这些功能才能提供正确的实施 现在,如果您查看MySqlPlatform,则无法在任何地方找到getListSequencesSQL(),因此您无法在mysql或至少使用此功能它没有实现。

答案 1 :(得分:0)

对于那些感兴趣的人,我就是这样做的。可能有更好的方法..

$('ul#nav > li > a').on("click", function () {
    if (nav.hasClass('mobile')) 
        nav.fadeOut('fast');
});