Doctrine ORM nativeQuery:如何重命名表



我正试图用nativeQuery重命名一个表,如下所示:

$rsm = new ResultSetMapping();
$query = $em->createNativeQuery('RENAME TABLE `'.$oldname.'` TO `'.$newname.'`', $rsm);
$result = $query->getResult();

奇怪的是,表被重命名了,但最后一行抛出了一个错误:

Undefined offset: 1
.vendordoctrinedbalsrcDriverPDOException.php:20
.vendordoctrinedbalsrcDriverPDOResult.php:107
.vendordoctrinedbalsrcDriverPDOResult.php:38
.vendordoctrinedbalsrcResult.php:59

我错过了什么?

您尝试像执行DML SELECT一样执行DDL查询。操作不会产生任何结果集

假设$emEntityManager,则执行此

$em->getConnection()->executeQuery($yourQuery);

任何地方都没有ResultSetMapping或其他东西。

请注意,这不是我自己测试过的东西,我也不是该原则的积极使用者。我确信原因,而不是如果片段是有效的(谷歌搜索出来的(

最新更新