我想以列表的形式检索数据库中的所有表。
我试图对查询执行“显示数据库”,但由于我没有使用我在 symfony 中定义的(实体)类,所以它不起作用。
还有 DQL:
$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'show databases');
$result = $query->getResult();
这个错误:
[Syntax Error] line 0, col 0: Error: Expected SELECT, UPDATE or DELETE, got 'show'
有什么想法可以帮助我吗?
最佳答案
如另一个答案中所述,您可以为此使用 Doctrine\DBAL
:
/** @type \Doctrine\DBAL\Connection $connection */
$connection = ...;
/** @type \Doctrine\DBAL\Schema\MySqlSchemaManager $sm */
$sm = $connection->getSchemaManager();
然后只需将表列为Array
:
var_dump( $sm->listDatabases() );
关于php - Symfony2 - 显示数据库中的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14057317/