新しいオブジェクトをフェッチする場合 特定のクラスのPDO::FETCH_CLASS
を使用します 。ただし、プロパティ値を既存のオブジェクトに書き込みたい場合 すでにお持ちの場合は、PDO::FETCH_INTO
を使用します 、そのように:
$sth->setFetchMode(PDO::FETCH_INTO, $this);
$sth->execute();
$sth->fetch();
書き込みたいプロパティは、直接または__set()
を介して、パブリックにアクセス可能である必要があることに注意してください。 魔法の方法。
ただし、@Truthの回答を慎重に検討する必要があります。同じクラス(ましてや同じオブジェクト)を持つのは良い設計ではありません !)データベースアクセスとレコードの表現の両方に責任があります。承認レコードの管理を担当するクラスと、レコード自体の管理を担当するクラスを用意します。