Si desea buscar un nuevo objeto de una clase dada, usa PDO::FETCH_CLASS
. Sin embargo, si desea escribir valores de propiedad en un objeto existente que ya tienes, usas PDO::FETCH_INTO
, así:
$sth->setFetchMode(PDO::FETCH_INTO, $this);
$sth->execute();
$sth->fetch();
Tenga en cuenta que las propiedades en las que desea escribir deben ser de acceso público, ya sea directamente o a través de un __set()
método mágico.
Sin embargo, debe considerar cuidadosamente la respuesta de @Truth. No es buen diseño tener la misma clase (mucho menos el mismo objeto !) ser responsable tanto del acceso a la base de datos como de la representación de un registro. Tenga una clase responsable de administrar los registros de autorización y otra de los registros mismos.