草庐IT

Doctrine_RawSql

全部标签

php - Doctrine 不映射来自 FOSUserBundle 用户类的字段

当从FOSUserBundle继承User-Class时,doctrine将无法识别基User类的继承属性。只有我自己的类的属性才会用于创建/更新数据库模式。这是config.yml:配置文件:doctrine:orm:auto_generate_proxy_classes:"%kernel.debug%"naming_strategy:doctrine.orm.naming_strategy.underscoreauto_mapping:truemappings:FOSUserBundle:~AppBundle:~fos_user:db_driver:ormfirewall_name

php - Symfony/Doctrine - createQueryBuilder orderBy

我有一个“团队”实体,其属性为“预算”。我只想打印团队属性,我希望预算最高的团队出现在第一位、第二位、第三位...(DESC)。但是使用这段代码,它不起作用,我不明白为什么。indexAction(Controller)$em=$this->getDoctrine()->getManager();$teams=$em->getRepository('FootballBundle:Team')->getAllTeamsSortedByDescBudget();return$this->render('FootballBundle:Default:index.html.twig',arra

php - Symfony/Doctrine 中的动态数据库和模式创建

我想在静态数据库中存储数据库连接。根据需要,我想创建一个新数据库,将凭据存储在我的静态数据库中,然后根据现有实体在新数据库中创建模式。我知道如何使用symfony的命令行工具来做到这一点。我的目标是让它在服务中工作。我查看了Doctrine文档并尝试让一些东西起作用:$conn=$this->getDoctrine()->getConnection()->getSchemaManager()->createDatabase($dbname);$isDevMode=true;$config=Setup::createAnnotationMetadataConfiguration(arra

php - Doctrine——选择所有字段并按其中一个分组

我正在尝试使用doctrine创建一个查询,它基本上应该类似于SQL中的查询:SELECTp.*FROMsome_tabelASpGROUPBYp.type;所以我最终得到了这个,因为这是我发现的最接近的记录:privatefunctiongetAll(){//$this->em=>EntityManagerreturn$this->em->createQueryBuilder()->select('p')->from('AppBundle:Robots','p')->groupBy('p.type')->getQuery()->getResult(Query::HYDRATE_ARR

php - Doctrine 2.5 意外的关联获取行为 [Symfony 3]

我有3个实体以这种方式关联:别担心,我已经使用注释设置了关联,但我认为以下组合会更轻量/更干净以暴露我的问题Post@ORM\ManyToOne(targetEntity="User",fetch="EAGER")-authorUser@ORM\OneToOne(targetEntity="Vip",mappedBy="user",fetch="EAGER")-vipVip#NoticethattheprimarykeyofvipisaforeignkeyonUserprimary@ORM\id@ORM\OneToOne(targetEntity="User",inversedBy="

php - Doctrine2 错误 "Expected known function, got ' COUNT'"when in order by clause

我正在使用doctrine2我尝试根据售出的门票数量获取“事件”的数量$manager=$this->getDoctrine()->getManager();$builder=$manager->createQueryBuilder();return$builder->select('e')->from('AppBundle:Event','e')->leftJoin('e.tickets','t')->orderBy('COUNT(t)')->groupBy('e.id')->setMaxResults(10)->getQuery()->getResult();这会产生错误[Synt

php - codeception : Setting the "doctrine" pre-defined service is deprecated since Symfony 3. 3 并且 Symfony 4.0 将不再支持

我的项目是一个带有DoctrineORM的Symfony3.3.9项目。我将codeception2.3.6与模块Doctrine2一起使用,我关注这篇文章:http://codeception.com/docs/modules/Doctrine2我的codeception配置是:#tests/functional.suite.ymlactor:FunctionalTestermodules:enabled:-\Helper\Functional-PhpBrowser:url:http://localhost-Symfony-Doctrine2:depends:Symfonyclean

php - Symfony 和 Doctrine 元数据缓存

我正在尝试优化我的Symfony应用程序性能,并且我关注了这些帖子:https://symfony.com/doc/2.8/performance.htmlSymfony2SlowInitializationTime我“担心”这些行:doctrine:orm:entity_managers:default:metadata_cache_driver:apcquery_cache_driver:apcresult_cache_driver:apc使用它们是否安全,或者我必须在部署后小心处理它们?我正在使用phpapp/consolecache:clear--env=prod--no-de

php - 如何在 Symfony 4 中不使用 DoctrineBundle 将 DBAL Doctrine 连接注册为服务

我正在尝试仅将DoctrineDBALConnection组件注册为Symfony4中的服务。我不需要symfony提供的完整DoctrineBundle,只需要提供基本数据库抽象级别的部分。现在我一直在研究如何将composer下载的原始库作为服务来实现。Connection类应该是这样创建的,来自官方文档:'mydb','user'=>'user','password'=>'secret','host'=>'localhost','driver'=>'pdo_mysql',);$conn=\Doctrine\DBAL\DriverManager::getConnection($co

php - Symfony 4 Doctrine 无法从控制台工作 [2002] 没有这样的文件或目录

我正在使用symfony4,在运行doctrine控制台命令时出现此错误:InAbstractMySQLDriver.phpline108:Anexceptionoccurredindriver:SQLSTATE[HY000][2002]Nosuchfileordirectory我认为这是因为连接有问题,但是当我运行应用程序时它可以毫无错误地访问数据库,所以我无法想象连接有什么问题。我能够通过手动创建数据库并使用继续工作phpbin/consoledoctrine:schema:create--dump-sql但这确实是不需要的,因为稍后当需要更新架构时,所有数据都将丢失,因为我需要重