gpt4 book ai didi

orm - 学说2 ArrayCollection过滤方法

转载 作者:行者123 更新时间:2023-12-03 05:44:57 25 4
gpt4 key购买 nike

在使用延迟加载时,我可以过滤掉 Doctrine 2 中 arrayCollection 的结果吗?例如,

// users = ArrayCollection with User entities containing an "active" property
$customer->users->filter('active' => TRUE)->first()

我不清楚过滤方法是如何实际使用的。

最佳答案

Doctrine 现在有 Criteria,它提供了一个 API,用于根据上下文使用 SQL 和 PHP 过滤集合。

https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-associations.html#filtering-collections

更新

这将获得接受答案中的结果,而无需从数据库中获取所有内容。

use Doctrine\Common\Collections\Criteria;

/**
* @ORM\Entity
*/
class Member {
// ...
public function getCommentsFiltered($ids) {
$criteria = Criteria::create()->where(Criteria::expr()->in("id", $ids));

return $this->getComments()->matching($criteria);
}
}

关于orm - 学说2 ArrayCollection过滤方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8334356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com