Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro ao logar miniblog - Uncaught Error: Call to a member function getDataDeIngresso() on boolean in /home/mauro/Área de Trabalho/miniblog/Vendor/DAO/PostagemDAO.php:69

Boa noite!

Quando vou logar no miniblog não consigo e aparece a mensagem " Uncaught Error: Call to a member function getDataDeIngresso() on boolean in /home/mauro/Área de Trabalho/miniblog/Vendor/DAO/PostagemDAO.php:69". o erro aparece na linha "$dataDeIngresso = new \dateTime($this->usuarioDao->buscaPorId($usuarioId)->getDataDeIngresso());" tentei colocar o "d" maiúsculo da classe dataTime mas também não deu. Meu sistema operacional é ubuntu 16.04.Segue o código.

    public function postsPorSemana($usuarioId) {
        $query = "SELECT * FROM Postagem WHERE usuarioId = :usuarioId";
        $stm= $this->con->prepare($query);
        $stm->bindValue(':usuarioId', $usuarioId);
        $stm->execute();


        $postagens = array();

        while ($postagem = $stm->fetchObject('Vendor\Model\Postagem')) {
            array_push($postagens, $postagem);
        }

        $numeroDePostagens = sizeof($postagens);

        $hoje = new \DateTime(date("Y-m-d"));

        $dataDeIngresso = new \dateTime($this->usuarioDao->buscaPorId($usuarioId)->getDataDeIngresso());

        $diferenca;

        if($hoje->diff($dataDeIngresso)->days == 0){
            $diferenca = 1;        
        }
        else{
            $diferenca = $hoje->diff($dataDeIngresso)->days/7;
        }
        return ($numeroDePostagens / $diferenca);
    }
3 respostas

Olá Mauro, Eu uso o fedora 24(EN) e o código que você postou está igual a meu e aqui tá funcionando.

Att,

Olá ramon, será que tenho que baixar alguma extensão do php 7?

solução!

Eu troquei tudo no método bindValue para aspas duplas.