2016-07-20 15 views
0

Ich möchte Tabelle in Symfony 3.0Wie schneidet man die Tabelle in Symfony 3 ab?

kürzen Tabelle Ich verwende folgenden Ansatz.

erstellen Entity: User.php

erstellen Repository: UserRepository.php

/** 
* UserRepository 
*/ 

namespace UserBundle\Entity; 

use Doctrine\ORM\EntityRepository; 


class UserRepository extends EntityRepository { 

    public function truncateTable() { 
     $em = $this->getEntityManager(); 
     $dql = 'TRUNCATE TABLE UserBundle:User'; 
     $query = $em->createQuery($dql); 

     return $query->getResult(); 
    } 

}

Wenn ich von der Steuerung diesen Code auszuführen versuchen: Ich bin folgende Meldung erhalten:

[2/2] QueryException: [Syntaxfehler] Zeile 0, Spalte 0: Fehler: Erwartete SELECT, UPDATE oder DELETE, bekam 'TRUNCATE'

Kann mir jemand vorschlagen?

Antwort

4

Der folgende Code sollten Sie

$classMetaData = $em->getClassMetadata($className); 
    $connection = $em->getConnection(); 
    $dbPlatform = $connection->getDatabasePlatform(); 
    $connection->beginTransaction(); 
    try { 
     $connection->query('SET FOREIGN_KEY_CHECKS=0'); 
     $q = $dbPlatform->getTruncateTableSql($classMetaData->getTableName()); 
     $connection->executeUpdate($q); 
     $connection->query('SET FOREIGN_KEY_CHECKS=1'); 
     $connection->commit(); 
    } 
    catch (\Exception $e) { 
     $connection->rollback(); 
    }  
helfen
Verwandte Themen