草庐IT

Doctrine_RawSql

全部标签

mysql - 如何配置 doctrine (Symfony 4) 连接 MySQL 8.0?

我遇到了这个错误:PDO::__construct():Theserverrequestedauthenticationmethodunknowntotheclient[caching_sha2_password]我知道MySQL在版本8中更改了他们的身份验证方法,但我应该如何更新到最新的驱动程序并在doctrine(Symfony4)中连接它? 最佳答案 这个帖子黄皓哲的回答帮了我:phpmysqli_connect:authenticationmethodunknowntotheclient[caching_sha2_passw

php - 如何只匹配 Doctrine 中最近更新的记录?

我正在使用Symfony2和Doctrine开发一个应用程序,并且有一个名为status的表,我在其中存储位置和日期簿,例如:ID|Book|Date|Location------------------------------------------------1|Book_1|2011-08-29|Home2|Book_1|2011-08-30|Office3|Book_1|2011-09-02|Friend'sHouse4|Book_2|2011-09-02|Office5|Book_2|2011-09-04|Home具有最近日期的状态记录表示该书的当前(或最后已知的)位置。在上

mysql - Doctrine2 选择生日范围

我想选择所有在即将到来的5天过生日的员工。生日保存在日期字段中。感觉我必须使用介于两者之间,但年份范围会破坏结果。基本上我只想按月和日选择一个日期,范围是5天。数据库方案:CREATETABLEIFNOTEXISTS`tbl_office_employee`(`id`int(11)NOTNULLauto_increment,`firstname`varchar(256)collateutf8_unicode_cidefaultNULL,`surname`varchar(256)collateutf8_unicode_cidefaultNULL,`birthdate`dateNOTNUL

mysql - 如何使用 doctrine2 锁定 symfony2 中的整个表?

我需要用doctrine锁定整个表(而不是单个行),如果可能的话,我想在没有native查询的情况下执行此操作。pessimisticlocking的文档仅描述如何通过这些方法锁定特定实体:EntityManager#findEntityManager#锁查询#setLockMode我有一个事务需要插入一行,该行的值取决于表中其余行的值,因此我需要防止两个事务同时在该表上执行。我正在使用显式事务划分,它应该可以很好地与锁定一起工作(根据上面的文档)。注意:乐观锁在这种情况下不够好,我不能重试事务。此外,查询不应该很慢,因此性能不是问题。编辑:我举个例子。想象一下,您想要手动构建一个au

mysql - 在 Symfony2 中使用 Doctrine2 保存 utf-8 数据

我正在尝试使用Doctrine2和Symfony2将我从MySQL数据库中的表单中获取的一些数据保存下来。我的问题是这些数据是希腊语的,尽管数据库和字段的排序规则是utf8_general_ci但Doctrine2没有正确存储这些字符。我已经检查过这些字符在我的映射类中是正确的,所以我猜问题出在我的Doctrine配置上。有什么想法吗? 最佳答案 我自己解决了。我必须将DoctrineDbal设置为utf8。为此,我只需要将以下内容添加到我的config.yml中:doctrine:dbal://restoftheconfigura

php - 应该如何定义这种多对多 doctrine2 关联?

我有两个实体-用户和挑战。一个用户可以参与很多挑战,一个挑战可以有很多参与者(用户)。我开始通过在我的用户类上创建多对多关系来解决这个问题:/***@ORM\ManytoMany(targetEntity="Challenge")*@ORM\JoinTable(name="users_challenges",joinColumns={@ORM\JoinColumn(name="user_id",referencedColumnName="id")},*inverseJoinColumns={@ORM\JoinColumn(name="challenge_id",referencedCo

php - Doctrine - Query One-To-Many, Unidirectional with Join Table association from inverse side

我的目标是:创建通用关联,其中第一个实体(例如类别)可以多次用于其他对象(例如帖子、文章)示例Post有类别,Article也有类别,但Article和Post是完全不同的实体。(两者无法同时连接)映射示例:发布categories=new\Doctrine\Common\Collections\ArrayCollection();}//...}文章categories=new\Doctrine\Common\Collections\ArrayCollection();}//...}类别如您所见,这是一对多、单向的连接表关联。现在,我可以查询单个Post类别和Article类别,但Ca

mysql - Doctrine2 "MEMBER OF"子句对 MySQL 数据库有效吗?

Doctrine2DQL允许以下SQL:$query=$em->createQuery('SELECTu.idFROMCmsUseruWHERE:groupIdMEMBEROFu.groups');$query->setParameter('groupId',$group);$ids=$query->getResult();MySQL数据库是否支持MEMBEROF子句?另外,关注前面的例子,$group是实体“Group”的id还是“Group”实体本身的一个实例? 最佳答案 MEMBEROF是一个纯ORM子句,与DBAL无关,因此

mysql - Doctrine 2 : Use default 0 values instead of null for relation

对于Doctrine2的关系(多对一、一对一)是否可以使用值0而不是null?现在我有很多NOTNULL列,但我可能不会更改为空值。将MySQL中的默认值更改为0本身并不是解决方案,因为Doctrine总是设置用于插入/更新行的列。 最佳答案 不,这是不可能的。NULL在SQL中有非常特殊的含义。它代表“没有值(value)”,你可以验证你的逻辑即使在SQL级别也不会工作:CREATETABLEfoo(`id`INT(11)PRIMARYKEYAUTO_INCREMENT,`bar_id`INT(11));CREATETABLE`b

php - 更改 Doctrine 2's ManyToMany relationship' s 中间表的字符集和引擎

我正在Symfony2中的两个实体之间建立这种多对多关系,并希望链接表为charsetlatin1和engineMyISAM(它们默认为UTF-8和InnoDB)。他们在这里:实体\命令实体\付款如您所见,我知道如何为我的实体表正确设置此信息,但我该如何为paiement_commande表做准备?我试过:/**@ORM\JoinTable(name="paiement_commande",options={"collate"="latin1_general_ci","charset"="latin1","engine":"MyISAM"})*/private$commandes;但是