草庐IT

doctrine-query

全部标签

php - Doctrine Query Builder 选择 Count with Case

我有以下sql语句,我想将其转换为学说查询生成器。目标是计算评分值为1和评分值为2的评分数量。SELECTCOUNT(CASEWHENrating.rating=1THENrating.ratingEND)asrat1,COUNT(CASEWHENrating.rating=2THENrating.ratingEND)asrat2FROMrating此sql语句工作正常-但当我尝试将其转换为Doctrine语句时,它不再工作了。当什么都不应该计算时(因为不存在该值的评级),它会返回“1”而不是0。当没有什么可计算时,我如何告诉doctrine简单地返回一个零?我通过删除"ELSE0"来

php - 声明 Doctrine Embeddable 是否可为空

假设我有两个Doctrine实体,Person和Company。两者都有一个address字段,它接受一个Address值对象。根据业务规则,Company::Address是必需的,而Person::Address可以为空。Doctrine2.5提议theEmbeddabletype,它显然是在考虑值(value)对象的情况下构建的,事实上,我认为它是我案例的完美解决方案。但是,有一件事我不能做:声明Person::Address可以为null而Company::Address不是。Embeddable的字段本身存在bool值nullable属性,但这当然适用于地址嵌入的每个实体。有

php - Doctrine2 查询生成器不引用字符串

下面是我的代码摘录$column_name="ipAddress";$qb=EntityManagerContainer::get()->createQueryBuilder();$qb->select('u')->from(BlacklistedIps::class,'u');if($search_term){$clause=$qb->expr()->like("u.".$column_name,"'%$search_term%'");$qb->where($clause);}$query=$qb->getQuery();$result=$query->getResult();它工作

php - 在没有可选数据库参数的情况下使用 mysql_select_db() 或 mysql_query() 时,PHP 如何知道最后一个数据库连接是什么?

考虑以下代码:这按预期工作,但PHP如何知道在以下示例中调用mysql_select_db()时要使用哪个数据库连接?PHP文档指出“如果未指定链接标识符,则假定为mysql_connect()打开的最后一个链接。”(PHP:mysql_select_db())从哪里存储或检索最后一个连接? 最佳答案 我想上次打开的连接的链接保存在内存中的某个地方,以简化操作(因为我们通常只使用一个连接)。快速浏览ext/mysql的源代码:(所有行号都在php_mysql.c中——源版本是几周前PHP5.3.2-dev的随机快照;因此,他们可能已

php - Doctrine :迁移:差异给出 "No changes detected in your mapping information"

我将doctrine与symfony结合使用。对于数据库设置,我使用注释。我成功创建了一个表,但为字段city提供了错误的格式integer,我需要将其更改为string。我的理解是,当我从更改客户类中的注释时classCustomer{/***@ORM\Column(type="integer",nullable=true)*@varstringcity*/private$city;}到classCustomer{/***@ORM\Column(nullable=true)*@varstringcity*/private$city;}然后运行phpbin/consoledoctrin

php - 如何让 Doctrine 在 Symfony2 中记录查询

我是Symfony2的新手,我正在寻找一种方法将SQL查询(包括计时)记录到与我的应用程序的其余部分相同的日志文件中。根据我从文档中可以确定的一切,这一切都应该开箱即用,但经过几个小时的尝试后,我无法弄清楚我做错了什么。config_dev.ymlmonolog:handlers:doctrine:action_level:debugtype:streampath:%kernel.logs_dir%/%kernel.environment%_doctrine.logchannels:doctrineconfig.yml#DoctrineConfigurationdoctrine:dba

php - Doctrine 2 : Can't update DateTime column on SQL Server 2008apm

我在apache服务器上使用Doctrine2.2和php5.3。到目前为止,我偶然发现了以下问题:当我尝试更新日期时间列时,我得到:SQLSTATE[22007]:[Microsoft][SQLServerNativeClient10.0][SQLServer]从字符串转换日期和/或时间时转换失败。到目前为止,我什至已经进入专栏,然后使用它只添加了1天来设置新日期......相同的结果。当我改为将数据库和实体中的列从datetime更改为date时,它​​会按预期运行。我的主要问题是,有几个字段需要使用日期时间列。这是我的代码:(生日是我更改为日期的列......并且是少数几个对我来

php - Doctrine multiple where 条件

我正在使用Doctrine2.3,我在为以下场景设计查询时遇到困难。SELECT*FROMsourceWHEREsource_id='10'orsource_id='100'orsource_id='30'我这样做是为了选择单个ID,但我不确定该怎么做。$qry=$this->manager()->create()->select('e')->from($this->entity,'e')->where('e.id=:id');有人可以帮助我吗?如果我了解上述查询的工作原理,我将解决其他问题。如下。SELECT*FROMsourceWHEREsource_id='10'andsourc

php - Wordpress: 'post_name' 上的 WP_Query 搜索条件

我正在使用WP_Query(非常标准)。一切都很好。但是,我有一个特殊的修改,如果用户在URL中输入特定的帖子名称,搜索将仅返回与该post_name值匹配的帖子。请参阅下面我的代码,其中包含有关特定行不起作用的注释。'person','posts_per_page'=>-1,//Iwantthisbelowtoonlyreturnmethepostwiththisspecificvalue.//Thisdoesn'terror,butdoesn'tworkeither.//Iknowitseemscounter-productivetoa'search'butthisparticul

php - 将 Fixtures 与 Doctrine 2 一起使用时出现 fatal error

我是Symblog2初学者,我正在关注thistutorialforSymblog2.我已经创建了我的数据模型,并尝试使用Doctrine2fixtures将测试数据填充到我的数据库中。我下载了必要的包并将以下内容添加到我的autoload.php:'Doctrine\\Common\\DataFixtures'=>__DIR__.'/../vendor/doctrine-fixtures/lib','Doctrine\\Common'=>__DIR__.'/../vendor/doctrine-common/lib',以及AppKernel.php的以下内容:newSymfony\B