Я получаю сообщение об ошибке при цикле из конструктора запросов в php - PullRequest
0 голосов
/ 28 марта 2019

Я строю запрос, который возвращает результаты, так как я вар дам дамп объектов, однако, когда я зацикливаюсь на результатах, я получаю ошибку на этапе цикла.

Я пытался посмотреть в Интернете, почему я получаю ошибку, включая документацию php.

Вот мой построитель запросов.

/** @var QueryBuilder $qb */
    $qb = $repository->createQueryBuilder('i');
    $qb->select('j.fund_code', 'j.amount', 'i.source_code', 
 'i.keyword', 'i.created_at', 'i.status', 'g.transaction_id')
        ->join('i.gateway_response', 'g')
        ->join('i.items', 'j')
        ->Where("i.status = :status")
        ->andWhere($qb->expr()->between('i.created_at', 
 ':starts_at', ':ends_at'))
        ->setParameter('status', 2)
        ->setParameter('starts_at', $startsAt, 
 \Doctrine\DBAL\Types\Type::DATETIME)
        ->setParameter('ends_at', $endsAt, 
\Doctrine\DBAL\Types\Type::DATETIME)
            ;

    $query = $qb->getQuery();
    $results = $query->getResult();
    $resultCount = count($results);
        var_dump($results);

Вот моя функция If с циклом foreach.

 if($resultCount > 0) {
        foreach($results as $holdTran) {

            $status = $holdTran->getStatus();


        }

        $output->writeln($resultCount . ': Transactions on Hold');
        $output->writeln($status);


        $mailer = $this->getContainer()->get('mailer');
             $message = new \Swift_Message();
             $message
                ->setSubject('Daily Giving Report')
                ->setFrom('chris2kus31@gmail.com')
                ->setTo('cmoreno@kcm.org')
                ->setContentType("text/html")
                ->setBody($this->getContainer()->get('templating')- 
>render('@Giving/Default/givingReport.html.twig',
                                [
                                    'resultCount' => $resultCount,
                                        'status'=> $status
                                ])

                    );

Вот ошибка, которую я получаю взамен

Неустранимая ошибка: вызов функции-члена getStatus () для массива

Я пытаюсь сделать запрос, получить результаты, которые передадут объекты в шаблон веточки

VarDump Resutl

array(1) {
  [0] =>
  array(7) {
   'fund_code' =>
    string(4) "K100"
    'amount' =>
   double(20)
    'source_code' =>
    NULL
    'keyword' =>
   NULL
   'created_at' =>
  class DateTime#675 (3) {
    public $date =>
    string(26) "2019-03-26 08:03:20.000000"
    public $timezone_type =>
    int(3)
    public $timezone =>
   string(15) "America/Chicago"
     }
     'status' =>
     int(2)
     'transaction_id' =>
     string(12) "000035772641"
   }
 }
...