sql >> Databasteknik >  >> RDS >> Mysql

Dynamiska tabell-/entitetsnamn i Doktrin 2

Frågan är gammal, men den kan vara till hjälp för någon.

Om loadClassMetada anropade varje gång verkar det som problemet i din kod. Men jag antar att metadata cachelagras av doktrin. I så fall kan du ändra det direkt, titta på följande kodavsnitt, det borde fungera:

<?php
class FooController extends Controller {
  function fooAction() {
    $em = $this->getDoctrine()->getEntityManager();
    $cm = $em->getClassMetadata('FooBundle:FooEntity');
    $cm->setTableName('special_table_name');
    $repo = $em->getRepository('FooBundle:FooEntity');
    $entities = $repo->createQueryBuilder('f')
            ->setMaxResults(1)
            ->orderBy('f.id', 'desc')
            ->getQuery()
            ->getResult();
    return new Response('');
  }
}



  1. MySQL Alter-tabellen orsakar Fel:Ogiltig användning av NULL-värdet

  2. Postgres-servern svarar inte på en nodejs-förfrågan

  3. returnera alla kolumner i en MySQL-tabell i ett strängformat

  4. ORA-00900:ogiltig SQL-sats - när en procedur körs i oracle 10g