*/ class ActorRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Actor::class); } public function findOneRandom(?float $popularity = null, ?string $char = null): Actor { $qb = $this->createQueryBuilder('o'); $expr = $qb->expr(); if (!empty($popularity)) { $qb->andWhere($expr->gte('o.popularity', ':popularity')) ->setParameter('popularity', $popularity); } if (!empty($char)) { $qb->andWhere($expr->like('o.name', ':name')) ->setParameter('name', '%'.$char.'%'); } return $qb ->orderBy('RANDOM()') ->setMaxResults(1) ->getQuery() ->getOneOrNullResult() ; } }