Propel 1.6 を使用していますが、propel オブジェクト コレクションからオブジェクトを取得する方法がわかりません (その「id」属性値を指定)。Propel のドキュメントで明確な答えを見つけることができませんでした ( PropelCollection メソッドは適用できないようです?)。例: 次のスキーマを持つ「Person」テーブルがあるとします。
<table name="person">
<column name="id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
<column name="name" type="VARCHAR" size="100" required="true"/>
</table>
「Person」オブジェクトのコレクションを取得するために、次のクエリを実行します。
$persons = PersonQuery::create()->find();
次に、データベースに新しいクエリを作成せずに、特定の「id」を持つ「Person」オブジェクト (「id=3」の「Person」など) を検索したいと考えています。どうすればいいですか?
$persons->get(...?)?
言い換えれば、私はやりたくない:
$personX = PersonQuery::create()->findOneById(3);
環境:
パフォーマンスを向上させるためにデータベース クエリを作成しないようにしたいと考えています。ステートメントは、次のように、そうでなければ多数のデータベース接続につながる foreach ステートメント内に挿入されます。
foreach ($books as $book) {
$book['author_name'] = PersonQuery::create()->findOneById($book['author_id'])->getName();
}