草庐IT

Doctrine_RawSql

全部标签

mysql - 映射 MySql 'bit' 数据类型的 Doctrine2 解决方法

我的数据库架构中有几列具有位数据类型,并且在使用Doctrine2映射它时遇到问题。我不断得到:Unknowndatabasetypebitrequested,Doctrine\DBAL\Platforms\MySqlPlatformmaynotsupportit.有什么解决办法吗?我正在考虑将数据类型更改为bool值并仅使用真假语句,但这意味着我没有时间大规模更改架构。 最佳答案 在config.yml中使用mapping_typesdoctrine:dbal:driver:%%database_driverhost:%%data

php - Doctrine 多对一关系持久化操作

我有一个故事表和用户表。故事表中的userid列是一个外键,它引用了用户表中的id。我设置的关系是一个用户可能有很多故事,这些故事存储在故事表中。我已经创建了两个表的实体。但如果尝试仅将操作持久化到故事表,则会询问新用户条目的详细信息。我的目标是使用现有userId添加一个新故事。我在这里发布错误:Anewentitywasfoundthroughtherelationship'Story#_userId'thatwasnotconfiguredtocascadepersistoperationsforentity:User@0000000038960c50000000008ea938

php - 在 Doctrine2 实体中存储 "CASE WHEN"条件

从Doctrine2.1开始,支持CASEWHEN语句,但没有很多关于它的文档。我的目标是设置一个bool值来判断一张照片是否被用户收藏:->addSelect("CASEWHENf.photoisNULLTHENfalseELSEtrueENDasis_favorited")->leftJoin("p.favorites",'f','WITH','f.owner=:viewer')->orderBy("p.date_posted","DESC")->setParameters(array("owner"=>$owner,"viewer"=>$viewer));但是因为我的实体正在被J

php - 有没有办法查询数组字段是否包含 Doctrine2 中的某个值?

从Symfony2+Doctrine开始。我有一个包含用户对象(fos_user)的表,我的架构包含一个“数组”类型的角色列。Doctrine通过将它们从php'array'序列化为'longtext'(在mysql的情况下)来保存这种类型的字段。假设我将以下用户保存到数据库中:User1:array(ROLE_ADMIN,ROLE_CUSTOM1)User2:array(ROLE_ADMIN,ROLE_CUSTOM2)User3:array(ROLE_CUSTOM2)现在在我的Controller中,我想选择所有设置了ROLE_ADMIN的用户。有没有一种方法可以编写一个DQL查询,

php - Doctrine2 和 MySQL 分区

有没有人有将分区功能与Doctrine2库结合使用的经验?第一个问题是Doctrine为关联列创建外键,有人知道如何防止或禁用它吗?第二个问题是如何指定自定义表定义(PARTITIONBY...)?提前致谢! 最佳答案 你不是运气不好!!首先,从D2管理的所有表中删除所有外键。复制并执行此查询的结果:SETSESSIONgroup_concat_max_len=8192;--//increasethisifyoudonotseethefulllistofyourtablesSELECTIFNULL(REPLACE(GROUP_CON

php - Doctrine DBAL - 在带有附加参数的数组中

使用示例文档,我能够使这样的查询正常工作。SELECTf.foo,b.barFROMFoofLEFTJOINBarbWHEREf.foo=20ANDb.barIN?使用DBAL,此代码返回结果。$result=$this->connection->executeQuery($SQL,array($bar_array),array(\Doctrine\DBAL\Connection::PARAM_INT_ARRAY))->fetchAll();我想搜索f.foo作为单个整数参数以及查找IN语句,但我还没有想出如何让它发挥作用,因为所有示例文档都将数组作为唯一参数。

php - 如何在 Doctrine2 (Symfony2) 中按案例排序

我想在Symfony2.3中使用Doctrine来运行这个查询。但似乎Doctrine不理解CASE声明。任何人都可以帮忙吗?提前谢谢!SELECTmax(id)id,nameFROMcardsWHEREnamelike'%John%'GROUPBYnameORDERBYCASEWHENnamelike'John%'THEN0WHENnamelike'John%'THEN1WHENnamelike'%John%'THEN2ELSE3END,name 最佳答案 如果你正在使用createQueryBuilder那么你可以使用like$

mysql - 将 MySQL 转换为 Doctrine 查询生成器。 IF 和 CONCAT 的问题。或者选择子查询的另一种方法

我的类别有一个表,每个类别都有id、name和parent_id。SelectIF(a.parent_idISNULL,a.name,CONCAT((SELECTb.nameFROMcategorybWHEREb.id=a.parent_id),"/",a.name))asn,a.id,a.parent_idFROMcategoryaORDERBYn我想将它转换为我的Doctrine2查询生成器$em=$this->getDoctrine()->getEntityManager();$qb=$em->createQueryBuilder();$q=$qb->select("c.id")

mysql - 无法使用 Doctrine 和 Symfony2 在 MySQL 中创建表

我正在使用MySql处理Symfony2和DoctrineORM。创建实体后,我无法创建表。它会引发异常。anu@anu-bridge:/var/www/Symfony$phpapp/consoledoctrine:schema:update--force--dump-sql[Doctrine\DBAL\Schema\SchemaException]Thetablewithname'product'alreadyexists.doctrine:schema:update[--complete][--dump-sql][--force][--em[="..."]]我试图删除它,但它仍然抛

php - Doctrine ODM - 类似运算符语法

我将如何在学说odm中模拟SQL中的like运算符?用例:我想在变量$search的字段标题字符串中找到一个主题。查询会是什么样子?感谢所有回答 最佳答案 使用MongoRegex$qb->field($field)->equals(new\MongoRegex('/.*paliw.*/i'));source但我建议使用单独的搜索引擎(sphinx,Solr) 关于php-DoctrineODM-类似运算符语法,我们在StackOverflow上找到一个类似的问题: