如何在or
方法中使用findBy
。
示例:我有一个包含id_user_one
和id_user_two
的实体,并且我想通过findby
方法进行搜索,所有实体都是id = 1
的{{1}}或{ {1}}。
问题已发布here,但没有人找到有效的答案...希望有可能:)
P.S。 :如果您也知道它对id_user_one
的工作原理,我将很高兴知道它:)
答案 0 :(得分:1)
否,仅使用findBy是不可能的。您要么必须自己编写一个存储库函数:
getScheduleDate(date: Date()) { (startTime, endTime, scheduledList) in
// Update your UI or do any actions based on the fetched data here.
}
或通过两次调用获取实体,然后合并结果:
$repo->createQueryBuilder('e')
->andWhere('e.id_user_one = :user_id')
->orWhere('e.id_user_two = :user_id') // change to andWhere depending on your needs
->setParameter('user_id', 1)
->getQuery()->getResult();
对于您的ps:$collection1 = $repo->findBy(['id_user_one' => 1]);
$collection2 = $repo->findBy(['id_user_two' => 1]);
$collection3 = new ArrayCollection(
array_merge($collection1->toArray(), $collection2->toArray())
);