Não sei sobre o PHP7, portanto ainda utilizo as funções mysql_, mas acredito que o erro esteja aqui, já que o prepare é uma função pre-estabelecida pelo que li:
$sql = $this->pdo->prepare($sql);
Tente utilizar somente: $sql = $this->prepare($sql);
Lembrando que não utilizo PDO, mas talvez funcione.