Se você deseja buscar um novo objeto de uma determinada classe, você usa
PDO::FETCH_CLASS
. Se, no entanto, você quiser gravar valores de propriedade em um objeto existente que você já tem, você usa PDO::FETCH_INTO
, igual a: $sth->setFetchMode(PDO::FETCH_INTO, $this);
$sth->execute();
$sth->fetch();
Observe que as propriedades nas quais você deseja gravar devem ser acessíveis ao público, diretamente ou por meio de um
__set()
método mágico. No entanto, você deve considerar cuidadosamente a resposta de @Truth. Não é um bom design ter a mesma classe (muito menos o mesmo objeto !) ser responsável tanto pelo acesso ao banco de dados quanto pela representação de um registro. Tenha uma classe responsável pelo gerenciamento dos registros de autorização e outra pelos próprios registros.