Mysql
 sql >> база данни >  >> RDS >> Mysql

Имената на динамични таблици/обекти в доктрина 2

Въпросът е стар, но може да бъде полезен за някого.

Ако loadClassMetada се извиква всеки път, тогава изглежда този проблем във вашия код. Но предполагам, че тези метаданни се кешират от доктрина. В този случай можете да ги промените директно, моля, вижте следния кодов фрагмент, той трябва да работи:

<?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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате JSTL sql таг

  2. Как да открием UTF-8 символи в колона, кодирана с Latin1 - MySQL

  3. Заместващи символи в Java PreparedStatements

  4. добавете временна колона със стойност

  5. MySQL VARCHAR(255) UTF8 е твърде дълъг за ключ, но максималната дължина е 1000 байта