コード例 #1
0
 /**
  * Returns tags with taggings loaded by resource
  *
  * @param Taggable $resource
  * @param null $createdBy
  * @param bool $all
  * @return array
  */
 public function getTagging(Taggable $resource, $createdBy = null, $all = false)
 {
     $qb = $this->createQueryBuilder('t')->select('t')->innerJoin('t.tagging', 't2', Join::WITH, 't2.recordId = :recordId AND t2.entityName = :entityName')->setParameter('recordId', $resource->getTaggableId())->setParameter('entityName', get_class($resource));
     if (!is_null($createdBy)) {
         $qb->where('t2.createdBy ' . ($all ? '!=' : '=') . ' :createdBy')->setParameter('createdBy', $createdBy);
     }
     return $qb->getQuery()->getResult();
 }
コード例 #2
0
ファイル: TagRepository.php プロジェクト: antrampa/platform
 /**
  * Returns tags with taggings loaded by resource
  *
  * @param Taggable     $resource
  * @param null         $createdBy
  * @param bool         $all
  * @param Organization $organization
  * @return array
  */
 public function getTagging(Taggable $resource, $createdBy = null, $all = false, Organization $organization = null)
 {
     $qb = $this->createQueryBuilder('t')->select('t')->innerJoin('t.tagging', 't2', Join::WITH, 't2.recordId = :recordId AND t2.entityName = :entityName')->setParameter('recordId', $resource->getTaggableId())->setParameter('entityName', ClassUtils::getClass($resource));
     if (!is_null($createdBy)) {
         $qb->where('t2.owner ' . ($all ? '!=' : '=') . ' :createdBy')->setParameter('createdBy', $createdBy);
     }
     if (!is_null($organization)) {
         $qb->andWhere('t.organization = :organization')->setParameter('organization', $organization);
     }
     return $qb->getQuery()->getResult();
 }