Als u een nieuw object wilt ophalen van een bepaalde klasse, gebruik je PDO::FETCH_CLASS
. Als u echter eigenschapswaarden wilt schrijven naar een bestaand object die je al hebt, gebruik je PDO::FETCH_INTO
, zoals zo:
$sth->setFetchMode(PDO::FETCH_INTO, $this);
$sth->execute();
$sth->fetch();
Houd er rekening mee dat de eigenschappen waarnaar u wilt schrijven openbaar toegankelijk moeten zijn, hetzij rechtstreeks, hetzij via een __set()
magische methode.
U moet echter het antwoord van @Truth zorgvuldig overwegen. Het is geen goed ontwerp om dezelfde klasse te hebben (laat staan hetzelfde object !) verantwoordelijk zijn voor zowel databasetoegang als voor het vertegenwoordigen van een record. Zorg dat één klasse verantwoordelijk is voor het beheren van autorisatierecords en een andere voor de records zelf.