/** * @param \Saigon\Conpago\IDbConfig $dbConfig * @param \Saigon\Conpago\IDoctrineConfig $doctrineConfig */ public function __construct(IDBConfig $dbConfig, IDoctrineConfig $doctrineConfig) { $this->dbConfig = $dbConfig; $this->doctrineConfig = $doctrineConfig; $paths = array($this->doctrineConfig->getModelPath()); $this->setDbParams(); $config = Setup::createAnnotationMetadataConfiguration($paths, $this->doctrineConfig->getDevMode()); $this->entityManager = EntityManager::create($this->dbParams, $config); }
HttpFragmentServiceProvider, UrlGeneratorServiceProvider, DoctrineServiceProvider, SessionServiceProvider, ValidatorServiceProvider }; use Doctrine\ORM\{ Tools\Setup, EntityManager }; $app = new Application(); $app->register(new ServiceControllerServiceProvider()); $app->register(new TwigServiceProvider()); $app->register(new HttpFragmentServiceProvider()); $app->register(new UrlGeneratorServiceProvider()); $app->register(new DoctrineServiceProvider(), array( "db.options" => $dbConnection )); $app->register(new SessionServiceProvider()); $app->register(new ValidatorServiceProvider()); $paths = array(__DIR__."/../src/App/Model"); $isDevMode = false; $config = Setup::createYAMLMetadataConfiguration($paths, $isDevMode, __DIR__.'/cache/'); $config->setAutoGenerateProxyClasses(true); $app['em'] = EntityManager::create($dbConnection, $config); return $app;
/** * @return mixed */ public function create() { $pk = $this->entityManager->create($this->tableName, $this->object); $this->setPrimaryKey($pk); return $pk; }
<?php use Doctrine\ORM\Tools\Setup; $models = [__DIR__ . "/../src/Models"]; $config = Setup::createAnnotationMetadataConfiguration($models, true); $conn = array('driver' => 'pdo_mysql', 'host' => 'localhost', 'dbname' => 'test1', 'user' => 'root', 'password' => ''); $app->em = EntityManager::create($conn, $config); $helperSet = new \Symfony\Component\Console\Helper\HelperSet(array('db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($app->em->getConnection()), 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($app->em))); return $helperSet;
<?php $lib = 'path/to/doctrine2/'; require $lib . 'lib/Doctrine/ORM/Tools/Setup.php'; Setup::registerAutoloadGit($lib); $cache = new \Doctrine\Common\Cache\ArrayCache(); $config = Setup::createAnnotationMetadataConfiguration(array(), true); $config->setSQLLogger(new Doctrine\DBAL\Logging\EchoSQLLogger()); $connectionOptions = array('driver' => 'pdo_sqlite', 'memory' => true); $evm = new \Doctrine\Common\EventManager(); $evm->addEventListener(array('postLoad'), new ActiveEntityListener()); $em = EntityManager::create($connectionOptions, $config, $evm); ActiveEntityRegistry::setDefaultManager($em); $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em); $schemaTool->createSchema(array($em->getClassMetadata("Article"))); $article = new Article(); $article->setHeadline("foo"); $article->setBody("barz!"); $other = Article::create(array('headline' => 'foo', 'body' => 'omg!?')); $article->persist(); $other->persist(); $em->flush(); $em->clear(); $article = Article::find(1); $article->remove(); $em->flush(); $articles = Article::findBy(array('headline' => 'foo')); echo count($articles) . " articles\n"; $articles = Article::createQueryBuilder('r')->where(Article::expr()->like("r.body", '%omg%')); echo count($articles) . " articles\n";