Search 如何:在typo3 v4.5.30中的两个字段上查找DbyProperty?

Search 如何:在typo3 v4.5.30中的两个字段上查找DbyProperty?,search,repository,typo3,extbase,Search,Repository,Typo3,Extbase,我想搜索在两个字段中匹配两个提供对象的记录, 比如说 $cnt = $this->usedCouponRepository->findByUser($validvip)->toArray() ; $cnt2 = $this->usedCouponRepository->findByCoupon($validcoupon)->toArray() ; get Interest(在UsedConon表中查找ValidVoIP与ValidConon配对的次数)

我想搜索在两个字段中匹配两个提供对象的记录, 比如说

 $cnt = $this->usedCouponRepository->findByUser($validvip)->toArray() ;
 $cnt2 = $this->usedCouponRepository->findByCoupon($validcoupon)->toArray() ;
get Interest(在UsedConon表中查找ValidVoIP与ValidConon配对的次数) 像这样的电话应该是-

$cnt3 = $this->usedCouponRepository->findByUserAndCoupon($validcoupon,$validuser);
有没有一种神奇的功能可以做到这一点或其他一些有效的方式?我不想在第一个循环中寻找匹配的代码。 谢谢

不,没有“extbase魔术”可以帮你完成这项工作。你必须自己实现它。但幸运的是,没那么难。只需向存储库添加一个方法,如下所示:

public function findByUserAndCoupon($validcoupon, $validuser) {
    $query = $this->createQuery();
    $query->matching(
        $query->logicalAnd(
            $query->equals('user', $validuser),
            $query->equals('coupon', validcoupon)
        )
    );
    $result = $query->execute();
    return $result;
}

现在你可以像以前那样叫它了。logicalAnd语句中的字符串
'user'
'coupon'
必须是数据库的字段名。

是的,这正是我所做的。谢谢