sql >> Base de Datos >  >> RDS >> Mysql

Establecer un objeto devuelto por PDO en su propia clase

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.