草庐IT

doctrine-project

全部标签

php - 如何使用注解在 Doctrine 2 集合上首先排序 NULL 值?

我有一个使用Symfony2并包含Doctrine2实体的项目。其中一些实体彼此相关。该关联由注释定义:/***@ORM\OneToMany(targetEntity="Event",mappedBy="firstEntityId"cascade={"persist","remove"})*@ORM\OrderBy({"dateEnd"="DESC","dateBegin"="DESC"})*/private$events;如您所见,此关联包含多个具有开始日期和结束日期的事件。检索此集合时,我希望首先对最近发生的事件(即尚未结束或最近结束的事件)进行排序。当前方法的问题是它将结束日期为

php - 动态使用 setter 和 getter 的 symfony Doctrine

我正在使用symfony和doctrine。服务器获取URL/company/{id}的HTTPPATCH请求,其中包含模型的属性及其值,如{"name":"Mynewname"}新值需要持久化到数据库中。$request=Request::createFromGlobals();$requestContentJSON=$request->getContent();$requestContentObj=json_decode($requestContentJSON);$repository=$this->getDoctrine()->getRepository('MyBundle:Co

php - Doctrine 自动递增起始值 @ORM\GeneratedValue

如何使用注释设置自动递增id的起始值?我希望它从250000开始/***@ORM\Id*@ORM\GeneratedValue*@ORM\Column(type="integer")*/protected$id; 最佳答案 /***@ORM\Id*@ORM\GeneratedValue(strategy="SEQUENCE")*@ORM\SequenceGenerator(sequenceName="id",initialValue=250000)*@ORM\Column(type="integer")*/protected$id;

php - 为什么覆盖 Doctrine_Record::save() 在 Symfony 1.2 中给我一个严格的标准错误?

我有以下模型:classModelextendsBaseModel{publicfunctionsave($conn=null){if(!$this->getId()){//dostuff}returnparent::save($conn);}}我觉得我正在关注Doctrine_Record::save()的API描述签名(除了奇怪的括号,我会给我一个语法错误...)。当我运行这段代码时,运行良好但我收到以下警告:StrictStandards:DeclarationofModel::save()shouldbecompatiblewiththatofDoctrine_Record::

php - 如何阻止 Symfony 记录 Doctrine 的 sql 查询?

我有一个奇怪的问题,当我检查我的app/log/dev.log时,我可以看到我的dev.log中的几乎所有查询都已登录实时:[2015-01-2706:57:22]doctrine.DEBUG:SELECTt0.usernameA....[2015-01-2706:57:23]doctrine.DEBUG:SELECTt0.usernameA...[2015-01-2706:57:23]doctrine.DEBUG:SELECTs0_.id......我不知道为什么会这样,因为当我在config.yml中检查monolog时,我也在生产模式下运行网站,这是我看到的:monolog:ha

php - Doctrine 2 - ManyToMany + IN 子句

我有这个模型:/**@Entity@Table(name="articles")*/classArticle{/**@Id@GeneratedValue@Column(type="integer")*/protected$id;/**@Column(type="string",length=100,nullable=true)*/protected$title;/**@ManyToOne(targetEntity="User",inversedBy="articles")*/protected$author;/**@Column(type="datetime")*/protected$

php - 在 Doctrine\ORM\PersistentCollection 中定义自定义方法

我正在获取具有多对多关系的数据,我想定义一个自定义方法。是否有可能(以及如何)使用类似的东西:$hotel=$entityManager->getRepository('Hotels')->findOneById(1);$types=$hotel->getTypes();//$typesisinstanceof**Doctrine\ORM\PersistentCollection**$types->myCustomFunction();//dosomething 最佳答案 它似乎还没有实现。请参阅此Doctrine的JIRA问题:h

php - 使用 Doctrine2 管理模式更改的工作流

在开发过程中,我经常运行Doctrine的schema:update命令来将数据库模式同步到我不断变化的实体定义中。一旦我准备好提交一项功能,我想将所有更改汇总到一个migrationclass中。我可以提交给git。问题是,为了运行migrations:diff,我需要将数据库模式回滚到它在开始搞乱schema:update之前的状态。执行schema:drop然后执行migrations:migrate是不好的,因为删除架构不会删除migration_versions表。这意味着在运行现有迁移和创建新迁移之前,我必须进入MySQL并手动删除所有数据库。它有效,但感觉我做错了。有更好

php - 使用 createQueryBuilder 在 doctrine2 中使用 LIMIT ( setMaxResults ) 更新查询不起作用

我有以下代码$qb=$this->createQueryBuilder('cs')->update()->set('cs.is_active',1)->where('cs.reward_coupon=:reward_coupon')->setMaxResults($limit)->setParameter('reward_coupon',$rewardCoupon);$qb->getQuery()->execute();这不会在结果查询中应用LIMIT。 最佳答案 setMaxResult()必须是你最后的Doctrine语句才能正

php - 当连接具有可空关系的表时,Doctrine 返回代理对象

我正在尝试从一个与另一个类连接的类中检索实体。并非所有实体实际上都已加入实体。有点像下面的语句:SELECTa,bFROMAaLEFTJOINBbONa.id=b.aidGROUPBYa.id;或在代码中:$query_builder=$em->getRepository('repository_of_A')->createQueryBuilder('a');$query_builder=$query_builder->leftJoin('a.b',b);$query_builder=$query_builder->groupBy('a.id');$query=$query_build