7

POJO_FOOテーブル()にマップするPHPクラス( )がありますTABLE_FOO

たとえば、そのクラスの1つのオブジェクトに等しい1つの行。

今、私は特定のクエリに一致するそのようなオブジェクトの配列を返すマネージャーを書いています。を使用してPDO、オブジェクトの配列を返すにはどうすればよいですか?

単純fetchAllにすると、連想配列(column=> value)の配列(結果の数を表す)が返されます。fetchALLオブジェクトの配列の形で結果を出すことができるオプションはありますか?

4

1 に答える 1

8

PDO::FETCH_CLASS を使用して、クラスにデータをハイドレートできます。

return $pdo->query('SELECT * FROM tablefoo')->fetchAll(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE,'POJO_FOO');

また、PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE を使用すると、オブジェクトの構築がより一貫したものになるので便利です。習慣的に、コンストラクターはすべての前に呼び出されます。FETCH_PROPS_LATE を使用しない場合、プロパティがハイドレートされた後に呼び出されます。

于 2012-08-28T08:21:18.593 に答える