Кто-нибудь знает, как php читает запрос, когда я его вызываю? - PullRequest
0 голосов
/ 15 мая 2019

Я с трудом пытаюсь сравнить даты в php с помощью фреймворка Symfony, когда одна из дат приходит из sql, я пытаюсь сравнить обе даты, но та, которую я звоню из postgresql, просто не будет читать как обычную дату, и я не могу отладить ее, потому что по какой-то причине, когда в коде есть var_dump (), echo () или print_r (), она просто зависает

Я пытался использовать его как массив, как строку и т. Д., Но я просто не могу принять ответ способом, который я могу сравнить с текущей датой.

/**
 * @return boolean
 */
public function isClientExpired(Clients $client)
{
    $em = $this->getEntityManager();
    $name = $client->getName();
    $query = $em->getConnection()->prepare("

        SELECT MAX(av.expiring_date) 
        FROM ms_evaluations ev, ms_users_roles usr, ms_users us, 
        ms_clients cl
        WHERE us.name = '$name' 
        AND us.id = cl.user_client 
        AND ev.urid_avaliado = usr.id 
        AND usr.user_id = us.id

      ");
    $query->execute();
    $date = $query->fetchAll();
    $today = date('Y/m/d');

    if ($date<$today) {
        return true;
    } else {
        return false;
    }
}

Функция должна возвращать true, если оценка клиента истекла, и false, если это не так, но вместо этого она всегда возвращает false. Тот факт, что я не могу отладить код, делает его еще сложнее, потому что я не могу понять, как этот запрос или дата приходят ко мне, и, следовательно, я не могу понять, как обрабатывать ответ для моего кода на Работа. Кто-нибудь хотя бы знает, как эта дата приходит ко мне? когда я выполняю это непосредственно на postgree, это возвращает мне что-то вроде:

|''''max'''' |
| 2019/23/08 |

Это ответ на одну строку и один столбец, по крайней мере, на postgre

Заранее спасибо, ребята

1 Ответ

0 голосов
/ 16 мая 2019

Результатом fetchAll, как говорится в документации, является массив:

https://www.php.net/manual/es/pdostatement.fetchall.php

Вы должны получить первый результат fetchAll или использовать fetchColumn.

https://www.php.net/manual/es/pdostatement.fetchcolumn.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...