createQuery(); return $query->matching( $query->logicalAnd( [ $query->equals('rating', $rating), $query->equals('voter', $voter) ] ) )->execute()->getFirst(); } /** * Counts all votings by giving the rating and ratingstep * * @param Rating $rating The concerned ratingobject * @param \WapplerSystems\BookmarksLikesRatings\Domain\Model\Stepconf $stepconf The stepconf object * @return int */ public function countByMatchingRatingAndVote($rating = null, $stepconf = null): int { $query = $this->createQuery(); $query->matching($query->logicalAnd( [ $query->equals('rating', $rating->getUid()), $query->equals('vote', $stepconf->getUid()) ] )); return count($query->execute()); } /** * Counts all anonymous votings by giving the rating and ratingstep * * @param Rating $rating The concerned ratingobject * @param \WapplerSystems\BookmarksLikesRatings\Domain\Model\Stepconf $stepconf The stepconf object * @param int $anonymousVoter UID of the anonymous account * @return int */ public function countAnonymousByMatchingRatingAndVote($rating = null, $stepconf = null, $anonymousVoter = null): int { /** @var int $count */ $count = 0; if ($anonymousVoter !== null) { $query = $this->createQuery(); $query->matching( $query->logicalAnd([ $query->equals('rating', $rating->getUid()), $query->equals('vote', $stepconf->getUid()), $query->equals('voter', $anonymousVoter), ]) ); $count = count($query->execute()); } return $count; } }