symfony - 如何使用 Doctrine ArrayCollection 的 forAll 方法?

标签 symfony doctrine-orm doctrine

任何人都可以展示使用 forAll 的示例吗? Doctrine\Common\Collections\ArrayCollection的方法?

最佳答案

这很简单。您链接到的类实现了 forAll方法如下:

foreach ($this->_elements as $key => $element) {
     if ( ! $p($key, $element)) {
         return false;
     }
}

因此,基于此,您应该调用 forAll喜欢:
$collection = ... #some data

$collection->forAll(function($key, $item){
    // Your logic here, based on $key and $item
});

希望这有帮助....

编辑(示例):
  • 您有实体 Student 的对象,其中有一个 OneToMany到学生的分数。
  • 您想检查学生是否通过 全部 他/她选择的科目
    $student = ....
    $allPassed = $student->getMarks()->forAll(function($key, $mark){
        return $mark->getValue() != 'F';
    });
    
  • $allPassed将举行TRUE如果所有标记都是“A”、“B”、“C”或“D”。即使其中之一是 F如果将是 FALSE .

    关于symfony - 如何使用 Doctrine ArrayCollection 的 forAll 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158836/

    相关文章:

    javascript - 使用 javascript 显示隐藏的选择类型

    Twig 提取 FOR 循环变量

    php - 原则 2 由于 ID 缺失而仍然无法插入

    security - 删除/更新安全身份 ACL Symfony2

    mysql - 使用 Doctrine 在 MySQL 数据库上删除多表的语法是什么?

    symfony - 如何处理计算出的实体属性

    php - 多对多 Doctrine : has user liked the article?

    symfony - 如何从一个包访问 session 数据到另一个包

    mysql - 如何使用 doctrine2 锁定 symfony2 中的整个表?

    mongodb - Doctrine ODM/MongoDB : How to query for references within embedded documents?