草庐IT

Symfony4

全部标签

mysql - "No result was found for query although at least one row was expected."查询应该在 Symfony 中显示记录

我正在尝试使用URL中的两个项目来检索内容。这是应该执行此操作的php/symfony代码:$em=$this->getDoctrine()->getEntityManager();$repository=$this->getDoctrine()->getRepository('ShoutMainBundle:Content');$query=$repository->createQueryBuilder('p')->where('p.slug>:slug')->andWhere('p.subtocontentid>:parent')->setParameters(array('slu

php - Symfony:驱动程序发生异常:无法使用 mysql 找到驱动程序

我正在尝试连接在服务器(docker)上运行的数据库(mysql)。我在Windows上编程。在我的symfony项目中,我做了以下事情:参数.yml->填写正确的参数配置.ymldoctrine:dbal:driver:pdo_mysqlhost:'%database_host%'port:'%database_port%'dbname:'%database_name%'user:'%database_user%'password:'%database_password%'php.iniextension=php_mysqli.dllextension=php_pdo_mysql.d

Symfony config:Doctrine InvalidConfigurationException:未识别的选项“选项”,“ Doctrine.dbal”

我正在使用Symfony2,并希望用学说导入本地CSV文件:$connection=$this->entityManager->getConnection();$output->writeln('ImportingArticles');$path=$this->importHelperService->getCSVBasePath().'PromotionArtikel.csv';$query=prepare($query);$statement->execute();但是我明白了[SYMFONY\COMPONT\DEBUG\异常\contexterRorexception]警告:pdosta

php - Symfony2 - 显示数据库中的所有表

我想以列表的形式检索数据库中的所有表。我试图对查询执行“显示数据库”,但由于我没有使用我在symfony中定义的(实体)类,所以它不起作用。还有DQL:$em=$this->getDoctrine()->getEntityManager();$query=$em->createQuery('showdatabases');$result=$query->getResult();这个错误:[SyntaxError]line0,col0:Error:ExpectedSELECT,UPDATEorDELETE,got'show'有什么想法可以帮助我吗? 最佳答案

php - Symfony 2 + Doctrine : How to supress SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

我查看了几篇文章,但找不到可行的解决方案。我的问题很简单:我有一个包含id、url和title的实体。URL应该是唯一的(在MySQLPDO中)。我成功地创建了实体和模式,没有任何问题。现在,当我遍历一些记录时,我会在每个记录上调用persist(),最后调用flush()。问题是,当我尝试为URL插入重复条目时,它给了我一个异常(exception)。如何抑制?当插入重复条目时,它应该跳过它并插入其余条目。不需要事件、ONUPDATE语句、触发器和所有花​​哨的东西。我已经trycatchpersist或flush()抛出的任何异常,但似乎无法正确地做到这一点。欢迎任何想法,谢谢!编

php - Symfony2 : Doctrine MySql Math Functions

我尝试按年龄段统计人数。AGEBRACKET|NBR10|320|1430|12340|450|55...这是我的代码:$qb=$em->createQueryBuilder();$qb->select('FLOOR((YEAR(CURDATE())-YEAR(p.date_birth))/10)*10ASage,COUNT(p.id)');$qb->from('MyBundle:Person','p');$qb->groupBy('age');$countByAge=$qb->getQuery()->execute();我收到这个错误:[SyntaxError]line0,col7:

php - Symfony2 : does fetch ="EAGER" create a join?

我的product实体中有这个映射属性:/***@ORM\ManyToMany(targetEntity="Group",mappedBy="products",indexBy="id",fetch="EAGER")**/protected$groups;我想知道,我对fetch="EAGER"的理解是,一旦选择了产品,它就应该获取组,这就是发生的情况,但每当我执行类似的操作时,它都会使用2个查询>findBy()一个查询获取product,另一个获取groups。有没有办法让findBy()或其他辅助方法在一个查询中或唯一的方法中获取product及其groups是编写一个自定义存储

php - 在 Symfony2 (Doctrine) 和 MySQL 中启用微秒

我有一个包含一列“日期时间”类型的实体来存储时间戳。/***@ORM\Column(type="datetime")*/protected$timestamp;我有MySQL5.5.40,我发现它不存储微秒。所以我切换到5.6.21并导入了我所有的表和数据。我试图将类型声明为*@ORM\Column(type="datetime(6)")但它给了我一个错误。所以我直接在数据库中更改了它:ALTERTABLEsymfony.hrmgmtMODIFYtimestampDATETIME(6);在我的Controller中我这样做:$dt=new\DateTime('now');$newHRE

php - 在 Symfony 中使用 Doctrine 的 DBAL 检索 bool 值

我在Symfony项目中使用DBAL来访问Mysql数据库中的数据。当查询带有bool字段(创建为tinyint)的表时,我在PHP中得到了tinyint值,但我想得到bool值。不知何故,我想获得与直接使用Doctrine相同的映射。我认为映射转换(从mysql到php)已经在DBAL中实现,但我不确定它是否应该以这种方式工作(该层映射值返回)。我试过像下面这样注册自定义映射,但没有成功:$this->conn->getDatabasePlatform()->registerDoctrineTypeMapping('tinyint','boolean');$sql="SELECTse

php - mysql 版本 8.0.11 和 Symfony 4 错误 "MySQL server has gone away"

我正在使用Symfony4和Mysql版本是8.0.11并使用用户而不是root登录,当我尝试使用命令phpbin/consolemake:migration我得到这个错误:InAbstractMySQLDriver.phpline126:Anexceptionoccurredindriver:SQLSTATE[HY000][2006]MySQLserverhasgoneawayInPDOConnection.phpline50:SQLSTATE[HY000][2006]MySQLserverhasgoneawayInPDOConnection.phpline46:SQLSTATE[H