Spaces:
No application file
No application file
namespace Mautic\LeadBundle\Entity; | |
use Mautic\CoreBundle\Entity\CommonRepository; | |
/** | |
* @extends CommonRepository<LeadCategory> | |
*/ | |
class LeadCategoryRepository extends CommonRepository | |
{ | |
/** | |
* @return array<mixed, array<string, mixed>> | |
*/ | |
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; | |
} | |
} | |