问题标签 [doctrine-collection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何返回一个空的 Doctrine_Collection?
我有一个返回 Doctrine_Collection 的方法,带有一个whereIn()
子句:
但是,当$values
是一个空数组时,此方法返回AnomalyTable 中的所有行。这不是意外的行为,如 Doctrine 文档中所述,并写在此处:Doctrine where in with Doctrine_Query
但是,当是一个空数组时,我想返回一个空Doctrine_Collection
而不是我的查询结果。$values
关于我如何做到这一点的任何想法?
谢谢 =)
编辑:
添加一个不可能的子句,like->where('1=0')
可以解决问题,但它是对数据库服务器的不必要请求。有人有更好的主意吗?
php - 两个 Doctrine_Collection 实例的差异
我有一组完成了某个测试的用户和一个收到该测试邀请的用户列表。现在我想获取所有未完成测试的用户。我认为区分两个集合(如数组)很简单,但只有Doctrine_Collection::merge()
可能。
我的数据模型(为清楚起见,省略了很多):
现在我可以使用这两个集合:
获得所有用户的最佳方法是什么?我可以执行 SQL 查询,但我不喜欢在 OOP php 或 DQL 查询中执行此操作。在 SQL 中,我可以这样做:
symfony1 - 重用 Doctrine_Record 对象来保存模型的多个实例
我正在开发 Symfony 应用程序中的某种通知模块。我正在迭代一个用户,为每个在其个人资料中具有活动标志Doctrine_Collection
的用户创建一个:Notification
问题是一旦我保存了第一个通知,我就无法重用该对象在数据库中存储新记录。我尝试过$notification->setId()
使用null
and ''
,但保存会更新对象而不是保存新对象。
有没有办法重用$notification
对象?我想这样做是因为通知字段创建的逻辑有点复杂。
php - 如何关联一对多关系的对象?
我正在使用带有 Doctrine ORM 的 symfony 1.4。我有两个通过一对多关系关联的类,并且我有“一侧”的对象。我需要将这个对象,比如说 A,关联到“多面”对象,比如说 B。事情是 A 没有一种方法可以只将一个对象添加到它的 Doctrine_Collection 属性,而是它有一个接收一个 setter Doctrine_Collection。我怎样才能实现这种关联?
我有类似的东西:
拜托,任何帮助将不胜感激!!!谢谢!
编辑:
也许我没有很好地解释我。我的人际关系设置得当。我不想检索任何对象;相反,我正在尝试设置对象。问题是该方法A::setB()
需要 aDoctrine_Collection
作为参数,而不是对象本身。我不知道如何构建它Doctrine_Collection
,这就是我在这里要问的......我只需要添加$b
到.Doctrine_Collection
$a
php - Doctrine_Collection __toString() 类型的功能
有人对基于特定列名将 Doctrine_Collection 转换为 CSV 的最佳方法有任何想法吗?
示例数组:
我想结束:
现在我可以通过以下方式轻松做到这一点:
但是,我想看看是否有使用 Doctrine_Collection 类提供的内置方法的更优雅的解决方案。
doctrine-1.2 - 无法保存 Doctrine_Collection
我正在使用带有 Zend 框架的 Docrine 1.2 并试图保存一个 Doctrine 集合。
我正在使用以下代码从我的表类中检索我的集合。
我也有以下类来重新排序上述事件记录。
上面的_saveCollection方法如下
上述保存方法中的事件 id 只是一个事件 id 的枚举数组,我使用数组的键来使用 order 字段设置事件的排序顺序。如果我将集合的 var_dump 到数组 ($this->_collection->toArray()) 我得到正确的数据。但是,当我尝试保存集合时,出现以下错误。
“SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 'order = '0' WHERE eventtypeid = '3 附近使用的正确语法''在第 1 行"
无论如何我可以让 Doctrine 扩展这个错误,完整的 SQL 语句将是一个开始,如果有人知道为什么会发生这个错误,那将非常有帮助。
提前谢谢了
加里
编辑
我已经修改了上面的代码以尝试一次处理一条记录,但我仍然遇到同样的问题。
php - DoctrineCollection:toArray() 和 getData() 之间的区别
基本上,如果我有一个 DoctrineRecord 对象的 DoctrineCollection,并且想将其转换为数组,我可以使用:
$collection->toArray()
或者$collection->getData()
但我不明白这两种方法有什么区别。
php - 获取集合中的最后一个元素
我正在尝试获取集合中最后一个元素的属性。我试过了
和
没有工作
(告诉我我正在尝试getProperty()
在布尔值上使用)。
知道为什么吗?
collections - How to remove a collection element without EntityManager#remove(...) in Doctrine 2?
I have a classical construction like EntityA OneToMany EntityB
. Implemented as a bidirectional relationship:
- the
EntityB
has a property$entityA
of typeEntityA
and - the
EntityA
has a property$entityBs
, that contains anArrayCollection
ofEntityB
elements.
Now I want to remove some EntityB
elements. It would work like this:
But I'd like to be able just to "say" $myEntityA->removeEntityB($entityB)
and not need to care about anything else. An advantage would be, that I can implement a method EntityA#replaceEntityBs(ArrayCollection $entityBs)
, that simply removes all EntityA#$entityBs
and replace them be the given elements.
Is it possible / How to remove elements of a collection directly from the inverse side of a relationship (of course without to pass the EntityManager
into the entity)?
doctrine - Doctrine ArrayCollection 匹配条件函数导致未定义属性:MyEntity::$1 (Symfony 3.4)
我将实体“TrainingProgressEntry”定义为@ORM\Entity 和“培训”属性,如下所示:
匹配的@ORM\Entity“Training”定义了一个属性“training_progress”,例如
和一个像这样的getter方法
最后,我定义了一个 getter 方法,旨在仅返回日期比某个参考日期更新的条目:
使用最后一个函数时,我得到以下“ContextErrorException”:
来自(哪里
当试图“返回 $object->$field”时。
跟踪显示它是由上述行中的函数“getTrainingProgressSinceStart()”引起的
由于某种原因,似乎无法识别匹配功能或某些东西......我现在真的不知道要寻找什么。任何提示都非常受欢迎。