/** * @param Post $post * @param User $user * * @return Like */ public function getPostSpecificLikeByUser(Post $post, User $user) { $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select('l')->from('Cobase\\AppBundle\\Entity\\Like', 'l')->where('l.resourceId = :id')->setParameter('id', $post->getId())->andWhere('l.resourceType = :type')->setParameter('type', 'post')->andWhere('l.user = :user')->setParameter('user', $user); try { return $qb->getQuery()->getSingleResult(); } catch (NoResultException $e) { return null; } }
/** * @param Post $post * @return array */ public function getLikes(Post $post) { $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select('l')->from('Cobase\\AppBundle\\Entity\\Like', 'l')->leftJoin('l.user', 'u')->where('l.resourceId = :id')->setParameter('id', $post->getId())->andWhere('l.resourceType = :type')->setParameter('type', 'post')->orderBy('u.name'); return $qb->getQuery()->getResult(); }
/** * @test * * @group entity * @group post-entity */ public function testEntityId() { $post = new Post(); $this->assertNull($post->getId()); }