Pokud chcete načíst nový objekt dané třídy, použijete PDO::FETCH_CLASS
. Pokud však chcete zapsat hodnoty vlastností do existujícího objektu které již máte, použijete PDO::FETCH_INTO
, asi takhle:
$sth->setFetchMode(PDO::FETCH_INTO, $this);
$sth->execute();
$sth->fetch();
Pamatujte, že vlastnosti, do kterých chcete zapisovat, musí být veřejně přístupné, buď přímo, nebo prostřednictvím __set()
magická metoda.
Měli byste však pečlivě zvážit odpověď @Truth. Není dobré mít stejnou třídu (tím méně stejný objekt !) odpovídat za přístup k databázi i za reprezentaci záznamu. Mít jednu třídu odpovědnou za správu autorizačních záznamů a druhou za samotné záznamy.