1

したがって、現在、データベースのテーブル、daily_record のクラス DailyRecord があります。id、field1、および field2 という名前のフィールドがあるとします。コンストラクターで、レコード ID を渡し、データベースにクエリを実行して 3 つのフィールドすべてを取得します。クラスに、このクエリから入力されたデータ メンバーが必要です。ただし、多くのテーブルとクラスでこれを行う予定であり、次のようなことを避けようとしています:

public __construct($id){
    //$record = $db->query('some query here');

    $this->id = $record['id'];
    $this->field1 = $record['field1'];
    $this->field2 = $record['field2'];
}

テーブルに多くのフィールドがある場合、これは非常に面倒になるからです。さらに、クラスを作成するたびにすべてのフィールドに入力する必要がない場合があります (複数のコンストラクターを使用する場合)。このための抽象クラスを作成した e コマース CMS (Prestashop または Magento) を見た覚えがあると思いました。どういうわけか、この抽象クラスを拡張することで、これらのフィールドを自動的に設定することができました。

このようなことについて何か提案はありますか?前もって感謝します!

4

1 に答える 1

1
public __construct($id){
    $record = SOME_DATASTORAGE_CONTAINER->query('some query here');
    foreach($record as $k=>$v){
        $this->$k = $v;
    }
}

データの取得方法についても読むことができますPDO::FETCH_CLASS

于 2013-07-01T19:43:41.390 に答える