getEntityManager(); $entityManager->persist($rate); $entityManager->flush(); } public function deleteRate(CustomerRate $rate) { $em = $this->getEntityManager(); $em->beginTransaction(); try { $em->remove($rate); $em->flush(); $em->commit(); } catch (ORMException $ex) { $em->rollback(); throw $ex; } } /** * @param Customer $customer * @return CustomerRate[] */ public function getRatesForCustomer(Customer $customer): array { $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select('r, u, c') ->from(CustomerRate::class, 'r') ->leftJoin('r.user', 'u') ->leftJoin('r.customer', 'c') ->andWhere( $qb->expr()->eq('r.customer', ':customer') ) ->addOrderBy('u.alias') ->setParameter('customer', $customer) ; return $qb->getQuery()->getResult(); } }