*/ class LeadCategoryRepository extends CommonRepository { /** * @return array> */ public function getLeadCategories(Lead $lead): array { $q = $this->_em->getConnection()->createQueryBuilder() ->select('lc.id, lc.category_id, lc.date_added, lc.manually_added, lc.manually_removed, c.alias, c.title') ->from(MAUTIC_TABLE_PREFIX.'lead_categories', 'lc') ->join('lc', MAUTIC_TABLE_PREFIX.'categories', 'c', 'c.id = lc.category_id') ->where('lc.lead_id = :lead') ->andWhere('lc.manually_removed = 0') ->setParameter('lead', $lead->getId()); $results = $q->executeQuery() ->fetchAllAssociative(); $categories = []; foreach ($results as $category) { $categories[$category['category_id']] = $category; } return $categories; } /** * @return mixed[] */ public function getUnsubscribedLeadCategories(Lead $lead): array { $q = $this->_em->getConnection()->createQueryBuilder() ->select('lc.id, lc.category_id, lc.date_added, lc.manually_added, lc.manually_removed, c.alias, c.title') ->from(MAUTIC_TABLE_PREFIX.'lead_categories', 'lc') ->join('lc', MAUTIC_TABLE_PREFIX.'categories', 'c', 'c.id = lc.category_id') ->where('lc.lead_id = :lead') ->andWhere('lc.manually_removed = 1') ->setParameter('lead', $lead->getId()); $results = $q->executeQuery()->fetchAllAssociative(); $categories = []; foreach ($results as $category) { $categories[$category['category_id']] = $category; } return $categories; } }