草庐IT

Doctrine_Query

全部标签

php - Doctrine ORM 标准 - 动态 orX

我在这上面花了很长时间,但找不到合适的解决方案。如何修改下面的代码以便我可以使用可变数量的动态包含条件?$criteria=Criteria::create();$expr=Criteria::expr();$criteria->where($expr->orX($expr->contains('field1',$str),$expr->contains('field2',$str),$expr->contains('field3',$str),$expr->contains('field4',$str))); 最佳答案 你可以像这

php - Doctrine - 与实体分离的模型

这是交易。将DoctrineORM用于PHP,我需要将模型与实体持久层“分离”。假设我们有UserEntity,它包含数据库映射的所有漂亮内容,如:注解、属性、setter/getter等。另一方面,我希望有一个单独的用户类,它只包含与业务相关的逻辑,例如:User::getFullName()。此外,我希望用户扩展UserEntity,以便用户继承所有访问方法。我检查过的可能解决方案对我不起作用:只是从实体扩展模型然后在DQL中指定模型是行不通的makeUserEntity/**@MappedSuperclass*/不起作用,因为在这种情况下UserEntity“本身不是一个实体”I

php - Doctrine - Managed Entity - 默认情况下不管理获取的实体

我正在为一个typo3/cms项目使用Doctrine来增强后端工作流程的能力。所以我不得不自己启动学说。它的大部分都很简单,我一点问题都没有。但是当谈到坚持一个现有的实体时,我感到很挣扎。每次我持久化一个现有实体时,它都会被创建为一个新实体。经过一些挖掘我得出结论,那不是“UnitOfWork”的一部分(->contains(entity)==false)。如果我在这个单元中手动注册它,一切都会再次正常工作。$this->entityManager->getUnitOfWork()->registerManaged($page,array('uid'=>$page->getUid()

php - Doctrine 缓存 - 升级到 PHP 5/6

我正在将我的服务器从PHP5.4升级到PHP5.6。我使用的性能增强之一是缓存Doctrine结果:$query->useResultCache('cache_key',300);我将Symfony配置为使用APC进行缓存:doctrine:orm:metadata_cache_driver:apcresult_cache_driver:apcquery_cache_driver:apc在PHP5.6中,APC被移除,所以我将安装APCu扩展。是否需要更新Symfony配置才能使用APCu,或者apc缓存驱动程序是否可以与APCu一起使用? 最佳答案

php - 如何为 wordpress WP_QUERY 清理 $_POST?

有人知道如何为wordpress清理$_POST吗?或者当我使用WP_QUERY时它已经被清理了吗?谢谢!我在考虑是使用mysql_escape()还是esc_sql()[wordpress函数]。functioncheckIfEmailAndPasswordHaveUser($email,$password){$args=array('post_type'=>'my_custom_post_type','meta_query'=>array(array('key'=>'email','value'=>$email),array('key'=>'password','value'=>$

php - Doctrine DBAL ->execute() 和 Hydration 与 DB2 字段名称包括 '#'

我正在尝试使用DoctrineDBAL实现模型/映射器类型的交互,但遇到了一些问题。我的一些列名称末尾有一个“#”。更改名称不是一种选择。${'COL1#'}语法适用于常规变量,但是当它用作对象属性时,PHP似乎遇到了困难。解析错误:语法错误,意外的“$”,需要变量(T_VARIABLEin...如何为字段名称中带有井号标签的表建立模型? 最佳答案 你可以createviewsinMySQL并将您的列重命名为在这些View中更友好的名称(不带#的名称)...?这样您就不必更改原始表,但您仍然可以解决这些命名问题。Doctrine也支

php - 在 Doctrine DBAL 中重用 QueryBuilder

以下示例显示了代码示例的一些摘录。在那里调用DoctrineDBAL的QueryBuilder两次-一次执行SELECT(*)语句,然后执行COUNT(*)声明。表、条件、排序顺序和结果限制等常用设置应用于重用的QueryBuilder对象。问题如示例中所示,隐式重用$queryBuilder是否存在缺点?是否建议只为单独的QueryBuilder实例复制粘贴代码?使用clone$queryBuilder有副作用吗?代码示例/***@paramarray$arguments*@returnstring*/privatefunctiongetOutput(array$arguments)

php - Symfony/Doctrine : getJoinTableName() must be of the type array, 给定为空

我有这2个类,它们之间有ManyToMany关联:Nursery.phpnamespaceVS\CrmBundle\Entity;useDoctrine\Common\Collections\ArrayCollection;useDoctrine\ORM\MappingasORM;/***Nursery**@ORM\Table(name="Nursery")*@ORM\Entity(repositoryClass="VS\CrmBundle\Repository\NurseryRepository")*/classNursery{/***@varint**@ORM\Column(nam

php - 有没有办法在 Doctrine ORM 中将 LIMIT 添加到 UPDATE 查询?

我正在使用Doctrine2.5.x,但在让LIMIT子句用于UPDATE查询时遇到了问题。它总是更新所有匹配的记录(即它似乎忽略了LIMIT子句)。setMaxResults()与UPDATE查询一起使用时似乎没有效果。作为一种快速解决方法,我正在使用nativeMySQL查询,但这不是最佳解决方案。我尝试了这些示例,但没有一个有效:DoctrineupdatequerywithLIMIThttps://recalll.co/app/?q=doctrine2%20-%20Doctrine%20update%20query%20with%20LIMIT带有setMaxResults()

php - 与 Doctrine Symfony 的条件关系

我需要在Symfony实体中创建这个数据库方案:A类:编号姓名...一些其他属性仅适用于A类B类:编号姓名...一些其他属性仅适用于B类C类:编号姓名...一些C类专用的其他属性类(class):编号姓名输入类(class)编号class_type[A,B,C]...我需要在类(class)实体(使用class_id)与其他实体(ClassA、ClassB、ClassC)(使用id)和使用class_type(A、B、C)之间创建关系。类(class)不是类(class),类(class)也不是类(class)。这里没有继承。在我的项目中,我使用了这个概念(id和type来映射不同的实