Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Configurando um objeto retornado do PDO em sua própria classe


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.