草庐IT

doctrine

全部标签

php - 跟踪 Doctrine 实体上的字段变化

我想跟踪对Doctrine实体字段的更改。我使用Symfony2.5.0和Doctrine2.2.3。到目前为止,我有一个订阅preUpdate的EventSubscriber。在这里,我想创建一个新的实体,它存储新旧值并保存对更新的实体的引用。问题是,我找不到持久化这个新实体的方法。如果我在preUpdate中使用persist()并在postUpdate中使用flush(),如果我只更改一个实体,它就会工作.如果更改了多个实体,我会收到一个错误,指出变更集为空。我尝试摆弄不同的事件并得到不同的结果。空白页面、跟踪实体不会持久化等。我认为这应该是一个常见的用例-但我找不到示例。

php - Doctrine2 Entites - 是否可以将 "dirty"对象与数据库中的对象进行比较

是否可以比较当前“脏”版本(其某些属性已更改但尚未持久化的对象)和“原始”版本(数据仍在数据库中)之间的实体对象的状态.我的假设是我可以有一个“脏”对象,然后从数据库中提取一个新对象并比较两者。例如:$entity=$em->getRepository('MyContentBundle:DynamicContent')->find($id);$editForm=$this->createContentForm($entity);$editForm->bind($request);if($editForm->isValid()){$db_entity=$em->getRepository

php - Symfony 2 Doctrine 导出到 JSON

我正在使用Symfony2和Doctrine2为iOS应用程序创建网络服务(JSON)。为了获取我的实体,我这样做:$articles=$this->getDoctrine()->getRepository('UdoPaddujourBundle:MenuArticle')->findAll();我必须告诉你:$article=array();$article=$articles->toArray();给我以下错误:Fatalerror:CalltoamemberfunctiontoArray()onanon-object同样的事情发生在$article=$articles->expo

php - Doctrine 和 Symfony2 : WHERE a. title LIKE $array

嘿,我写这篇文章是因为我在doctrine查询中传递数组值几乎没有问题。下面是整个查询:$data=$request->request->all();$dql="SELECTaFROMPfBlogBundle:ArticleaWHEREa.titleLIKE'{$data['search']}'ORDERbya.idDESC";如果我print_r($data)我得到了值,所以它就在某处。我只是不明白为什么它没有传递查询..期待LIKE'{$data['search']}'工作但它没有。 最佳答案 根据我从您的代码片段可以看出,您正

php - 如何在 Doctrine 2 中按日期时间排序?

我要执行以下查询:$qb=$this->getEntityManager()->createQueryBuilder();$qb->select('e')->from('Entity\Event','e')->setMaxResults($limit)->setFirstResult($offset)->orderBy('e.dateStart','ASC');$events=$qb->getQuery()->getResult();在哪里/***User**@ORM\Table(name="event")*@ORM\Entity(repositoryClass="Repositori

php - 如何清除或清空 doctrine symfony 中的 Array Collection

我有像这样的对象数组集合ClassUser{private$tasks;}一旦用户从数据库加载,我如何清空或清除集合。当我查询用户时,Doctrine将延迟加载用户对象中的任务,但我想先清除这些任务有点像$user->getTasks().empty() 最佳答案 首先,我想象您的用户实体的构造函数看起来像这样:classUser{publicfunction__construct(){...$this->tasks=new\Doctrine\Common\Collections\ArrayCollection();...}}如果到

php - symfony2.1 : count doctrine collection in twig template

我有一个包含实体集合(子)的学说实体。现在我想计算实体并打印出计数。像这样:{{object.name}}children{%count(object.children)%}我发现了一些不起作用的示例(likeusinga"count"filter导致“找不到过滤器”错误)。 最佳答案 如发现here,对于学说,在处理学说集合时可以选择使用“计数”方法。否则,您可以使用“长度”过滤器。示例代码:{{object.children|length}}{{object.children.count}}

php - 我如何分离 Symfony/Doctrine 中的行为?

我的所有模型都附加了doctrine的软删除行为。有什么方法可以硬删除特定记录吗?在cakephp中,我记得分离行为...删除记录然后重新附加行为。symfony/doctrine中有类似的东西吗?如果是这样,那么我该如何分离行为?干杯 最佳答案 嗯..SoftDeletebehavior包括一个更好的方法来做到这一点...只需调用$record->hardDelete(); 关于php-我如何分离Symfony/Doctrine中的行为?,我们在StackOverflow上找到一个类似

php - Doctrine 2,实体内部查询

如何在实体中执行查询?namespaceEntities\Members;/***@Entity(repositoryClass="\Entities\Member\MembersRepository")*@Table(name="Members")*@HasLifecycleCallbacks*/classMembersextends\Entities\AbstractEntity{/***@Id@Column(name="id",type="bigint",length=15)*@GeneratedValue(strategy="AUTO")*/protected$id;/***@

php - 如何使用 Doctrine2 中的 EntityManager 检索具有所有关联的实体?

我有一个具有多对多和一对多关联的简单实体。我知道用于获取相关关联的“加入”,这是我的问题的手动解决方案。如何使用Doctrine2中的EntityManager获取一个实体及其所有关联?例如:$this->em->getRepository('Entities\Patientprofile')->findOneByuserid('555555557')->fetchAllAssociations(); 最佳答案 来自http://doctrine-orm.readthedocs.org/en/latest/reference/dql