Newscoop\Tools\Console\Command\SubscriptionsNotifierCommand::getSubscritpionsSections PHP Method

getSubscritpionsSections() private method

private getSubscritpionsSections ( $subscriptionId )
    private function getSubscritpionsSections($subscriptionId)
    {
        $sectionsCount = $this->em->getRepository('Newscoop\\Subscription\\Section')->createQueryBuilder('s');
        // select sections older than 48 hours
        $rsm = new \Doctrine\ORM\Query\ResultSetMapping();
        $rsm->addEntityResult('\\Newscoop\\Subscription\\Section', 'ss');
        $rsm->addFieldResult('ss', 'StartDate', 'startDate');
        $rsm->addFieldResult('ss', 'PaidDays', 'paidDays');
        $rsm->addFieldResult('ss', 'IdSubscription', 'subscription');
        $rsm->addFieldResult('ss', 'NoticeSent', 'noticeSent');
        $rsm->addScalarResult('formated_start_date', 'formated_start_date');
        $rsm->addScalarResult('to_days_start_date', 'to_days_start_date');
        $rsm->addScalarResult('to_days_now', 'to_days_now');
        $rsm->addScalarResult('formated_end_date', 'formated_end_date');
        $sql = "SELECT \r\n                    ss.StartDate, \r\n                    DATE_FORMAT(ss.StartDate, '%M %D, %Y') AS formated_start_date, \r\n                    ss.PaidDays, \r\n                    TO_DAYS(ss.StartDate) AS to_days_start_date, \r\n                    TO_DAYS(now()) AS to_days_now, \r\n                    DATE_FORMAT(ADDDATE(ss.StartDate, INTERVAL ss.PaidDays DAY), '%M %D, %Y') AS formated_end_date\r\n                FROM \r\n                    SubsSections ss\r\n                WHERE \r\n                    ss.IdSubscription =  {$subscriptionId} \r\n                AND \r\n                    ss.NoticeSent = 'N' \r\n                GROUP BY \r\n                    ss.StartDate, ss.PaidDays\r\n        ";
        $query = $this->em->createNativeQuery($sql, $rsm);
        return $query->getResult();
    }