sql >> Database teknologi >  >> RDS >> Mysql

Indstilling af et objekt returneret fra PDO i sin egen klasse

Hvis du vil hente et nyt objekt af en given klasse, bruger du PDO::FETCH_CLASS . Hvis du imidlertid vil skrive egenskabsværdier til et eksisterende objekt som du allerede har, bruger du PDO::FETCH_INTO , sådan:

 $sth->setFetchMode(PDO::FETCH_INTO, $this);
 $sth->execute();
 $sth->fetch();

Bemærk, at de egenskaber, du vil skrive til, skal være offentligt tilgængelige, enten direkte eller gennem en __set() magisk metode.

Du bør dog nøje overveje @Truths svar. Det er ikke godt design at have den samme klasse (meget mindre det samme objekt). !) være ansvarlig både for databaseadgang og for at repræsentere en post. Hav en klasse ansvarlig for at administrere autorisationsposter og en anden for selve posterne.



  1. GROUP_CONCAT kommaseparator - MySQL

  2. MySQL-gruppering med et kommasepareret felt

  3. Apache Spark ODBC-driver

  4. Tjek, om et Postgres JSON-array indeholder en streng