sql >> Databasteknik >  >> RDS >> Mysql

Att ställa in ett objekt som returneras från PDO i sin egen klass

Om du vill hämta ett nytt objekt för en given klass använder du PDO::FETCH_CLASS . Om du däremot vill skriva egenskapsvärden till ett befintligt objekt som du redan har använder du PDO::FETCH_INTO , som så:

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

Observera att egenskaperna du vill skriva till måste vara offentligt tillgängliga, antingen direkt eller genom en __set() magisk metod.

Du bör dock noga överväga @Truths svar. Det är inte bra design att ha samma klass (mycket mindre samma objekt). !) ansvara både för databasåtkomst och för att representera en post. Ha en klass ansvarig för att hantera auktoriseringsposter och en annan för själva posterna.



  1. MySQL Gem för Ruby On Rails

  2. Minska den dagliga statustabellen till att endast innehålla statusändringar

  3. Hur man aktiverar pdo_mysql i php docker-bilden

  4. inre join select (A,B) på A och B kontra där (A,B) i select(A, B) i mysql