草庐IT

Doctrine_RawSql

全部标签

php - Doctrine2 首先查询具有特定值的 orderBy

我正在尝试使用Doctrine将多个过滤器应用于Symfony中的一个dql。我想按几列排序(尽管目前我只有一列有问题)并且我想显示与特定值匹配的第一个值。我将写一个简单的例子来说明我正在搜索的结果:col1col1---------ABB=>ACCWW我正在搜索有关如何制作它的信息,但我有点困惑,因为有些人说我不能直接做,其他人说可以使用casewhen或if/else。我尝试使用casewhen但没有成功。我使用的代码如下:更新的代码和错误$query=$this->createQueryBuilder('article')->where('article.titleLIKE:ar

mysql - 具有计算间隔值的 Doctrine 2 DATE_ADD mysql 函数

我有一个查询,它给我一个unix时间戳计算选择表字段的日期时间值,然后添加表的另一个值。查询类似于以下内容:SELECTUNIX_TIMESTAMP(DATE_ADD(mydatetimefield,INTERVALm.myfield1+m.myfield2MINUTE))FROMmytableASm此查询从phpMyAdmin正确执行,但当我尝试将它与Doctrine2的createQueryBuilder方法一起使用时,我在“myfield”处收到错误。好像不支持INTERVAL关键字后的计算值Error:ExpectedDoctrine\ORM\Query\Lexer::T_CO

mysql - 语法错误 - Doctrine\ORM\Query\QueryException

这是我正在使用的查询:$q=$this->getEntityManager()->createQueryBuilder("SELECTeFROMActionModule\ActioneJOINe.typetWHEREt.idIN(:ids)");我已经尝试了每个参数分配选项::ids?1内爆(',',$ids)?ids并且总是得到:Doctrine\ORM\Query\QueryException[SyntaxError]line0,col-1:Error:ExpectedIdentificationVariable|ScalarExpression|AggregateExpressi

php - Doctrine Paginator 选择整个表格(非常慢)?

这与此处的前一个问题有关:Doctrine/Symfonyquerybuilderaddselectonleftjoin我想使用DoctrineORM执行复杂的连接查询。我想选择10篇分页的博客文章,留下一个作者,比如当前用户的值(value),以及帖子上的主题标签。我的查询构建器如下所示:$query=$em->createQueryBuilder()->select('p')->from('Post','p')->leftJoin('p.author','a')->leftJoin('p.hashtags','h')->leftJoin('p.likes','l','WITH','

mysql - Doctrine2 OrderBy 具体值

Doctrine是否能够按特定值对结果进行排序?我会尝试做这样的事情..$queryBuilder->addOrderBy($queryBuilder->expr()->eq('t0.ID',$ID));$queryBuilder->addOrderBy('t0.ID');要获得类似此查询的结果。selectIDfromtestorderbyID='1234',ID;异常(exception):SyntaxErrorline0col72:Error:Expectedendofstringgot'='我也尝试过使用FIND_IN_SET但这也不起作用。有人可以帮帮我吗?

php - Doctrine 2 getResult() 需要很多时间

我使用doctrine2开发symfony2应用程序。我的代码是:$userSites=$this->getDoctrine()->getManager()->createQuery('SELECTus,sFROMMyMainBundle:UserSiteusJOINus.sitesWHEREus.user=:user_id')->setParameter('user_id',$user_id)->getResult();它通常返回大约7000多条记录。当我将此查询直接传递给mysql(使用getSql()并粘贴到phpmyadmin)时,它需要0,008秒。但是getResult()

php - Doctrine——如何在两个实体之间建立一对一的关系

我有两个表:用户和联系人UsersidusernameContactsiduser_idemail(Ihavesimplifiedthestructure)现在,如何正确设置学说实体?/***@ORM\Entity*@ORM\Table(name="users")*/classUserextendsBaseEntity{/***@Id*@GeneratedValue*@Column(type="bigint")*/protected$id;/***@ORM\Column(type="string",unique=true)*/protected$username;/***@ORM\On

mysql - Symfony 3/Doctrine 是否为每位访问者打开一个 MySQL 连接?

所以我用Symfony3和Doctrine开发了这个网站。我主要担心MySQL的性能,更具体地说是同时打开连接的数量。目前,网站上有1到5个用户在线。比方说,如果1,500用户在一分钟内连接会怎样?Symfony3或Doctrine是否处理这种情况?我如何确定网站不会因为ToomanyconnectionsMySQL错误而崩溃?如果我达到5,000?还有10,000?服务器有4G​​BRAM和2.40Ghz单核处理器,但我不担心硬件,因为我更关心MySQL。这些情况过去已经发生过,但我正在使用Wordpress和W3TotalCache插件运行网站。我应该考虑使用缓存管理器,例如mem

PHP 和 Doctrine : how to create unique IDs

我想创建唯一的ID,比如dujUSJue9389sjgjik。我使用Doctrine的UUID策略来创建它们,但结果类似于d9c363ae-a1b7-11e6-a66d-9e9923e30d94:我不喜欢使用破折号,而且我希望ID更短。他们必须识别一些实体来构建像http://example.com/entity/hduicw43tv43bic这样的URL。使用PHP的uniqid()不能保证生成值的唯一性。我认为冲突是非常罕见的,但是,无论如何,根本没有排除,所以我不认为它是“安全的”(冲突可能会导致异常,并且行创建可能会导致很多修复问题)。因此,使用Doctrine和Symfony

php - 具有 varchar id 的 Doctrine2 实体不将 id 插入数据库

我正在尝试在ZF2应用程序中为Doctrine2创建实体。我的实体应该有idvarchar(15),但是当我尝试创建新行时,doctrine2没有将这个ID推送到数据库中。在实体生成类中我有这个:/***Checkpoints**@ORM\Table(name="checkpoints",uniqueConstraints{@ORM\UniqueConstraint(name="sort",columns={"sort"})},indexes={@ORM\Index(name="country",columns={"country"})})*@ORM\Entity*/classChec