Doctrine ORM nativeQuery:如何重命名 table
Doctrine ORM nativeQuery: How to rename table
我正在尝试使用 nativeQuery 重命名 table,如下所示:
$rsm = new ResultSetMapping();
$query = $em->createNativeQuery('RENAME TABLE `'.$oldname.'` TO `'.$newname.'`', $rsm);
$result = $query->getResult();
奇怪的是 table 被重命名了,但最后一行抛出错误:
Undefined offset: 1
.\vendor\doctrine\dbal\src\Driver\PDO\Exception.php:20
.\vendor\doctrine\dbal\src\Driver\PDO\Result.php:107
.\vendor\doctrine\dbal\src\Driver\PDO\Result.php:38
.\vendor\doctrine\dbal\src\Result.php:59
我错过了什么?
您尝试像 DML 一样执行 DDL 查询 SELECT。不会有结果集作为此类操作的结果
假设 $em
是 EntityManager
执行此操作
$em->getConnection()->executeQuery($yourQuery);
没有 ResultSetMapping
也没有任何其他东西。
请注意,这不是我自己测试过的,也不是 Doctrine 的活跃用户。我确信原因,而不是代码段是否有效(用谷歌搜索出来)
我正在尝试使用 nativeQuery 重命名 table,如下所示:
$rsm = new ResultSetMapping();
$query = $em->createNativeQuery('RENAME TABLE `'.$oldname.'` TO `'.$newname.'`', $rsm);
$result = $query->getResult();
奇怪的是 table 被重命名了,但最后一行抛出错误:
Undefined offset: 1
.\vendor\doctrine\dbal\src\Driver\PDO\Exception.php:20
.\vendor\doctrine\dbal\src\Driver\PDO\Result.php:107
.\vendor\doctrine\dbal\src\Driver\PDO\Result.php:38
.\vendor\doctrine\dbal\src\Result.php:59
我错过了什么?
您尝试像 DML 一样执行 DDL 查询 SELECT。不会有结果集作为此类操作的结果
假设 $em
是 EntityManager
执行此操作
$em->getConnection()->executeQuery($yourQuery);
没有 ResultSetMapping
也没有任何其他东西。
请注意,这不是我自己测试过的,也不是 Doctrine 的活跃用户。我确信原因,而不是代码段是否有效(用谷歌搜索出来)