1

ユーザーテーブルの行を反映するクラスユーザーを作成しました。主キーに基づいてデータベースから値を取得し、それを自己オブジェクトに格納しようとする populate メソッドが 1 つあります。すべての変数を取得し、フィールドごとに 1 つずつ設定することでそれを行うことができます。PDO::FETCH_CLASS またはその他の簡単な方法を使用してそれを行う方法はありますか?

$this = $stmt->fetch( PDO::FETCH_CLASS ) を使用して保存しようとすると、 Fatal error: Cannot re-assign $this in /var/www/html/php/classes.php on line 51 エラーが発生します。

ORM スタイルのツールは使いたくないので、自分でクラスを開発したいと思っています。

4

1 に答える 1

2

list($this->a, $this->b, $this->c) = array((...)) のようなものを試しましたか? array は (おそらく) フェッチした結果ですか? $this 変数を割り当てることはできないため、そのフィールドとメソッドのみを参照してください。

もう 1 つの解決策は、ArrayAccessインターフェイスを実装し、データを基になる配列に格納することです。

于 2012-08-08T07:45:19.413 に答える