2012-08-28 5 views
7

テーブル(TABLE_FOO)にマップするPHPクラス(POJO_FOO)があります。PDOからオブジェクトの配列を返す

1行はそのクラスの1つのオブジェクトに等しい。

私は、特定のクエリに一致するオブジェクトの配列を返すマネージャを作成しています。 PDOを使用すると、どのようにオブジェクトの配列を返すことができますか?

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

+3

'PDO :: FETCH_CLASS'? – eggyal

+0

うわー、それは働いて...私が試したときになぜそれがうまくいかなかったのか分からない。とにかく..答えに感謝します。 – mrd081

答えて

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を使用しない場合は、プロパティが水和された後に呼び出されます。

+0

うわー、それは働いて...私が試したときにそれがなぜ機能していなかったのか分からない。とにかく..答えのためにありがとう:) – mrd081

+0

PDO :: FETCH_CLASS | PDO :: FETCH_PROPS_LATEについてのリトルコメント – artragis

+0

どうしますか? (FETCH_PROPS_LATE) – mrd081

関連する問題