- 2009/02/25
- Web開発関連
doSelectJoinXXX()
っていう関数を使うと 2 つのテーブルを join した結果を SQL 1 本で取得できる。
この関数は schema.yml で外部参照を設定すると自動で生成される。
データベースへの必要なクエリの回数は11回ではなく1回なので速くなります。
// アクション内で
$this->articles = ArticlePeer::doSelectJoinAuthor(new Criteria());
$this->articles = ArticlePeer::doSelectJoinAuthor(new Criteria());
// doSelectJoinAuthor()によって発行されたデータベースへのクエリ
SELECT article.id, article.title, article.author_id, ...
author.id, author.name, ...
FROM article, author
WHERE article.author_id = author.id
// テンプレートにおいて(変わらず)
<ul>
<li>getTitle() ?>,
written by getAuthor()->getName() ?></li>
</ul>
こっちもどうぞ
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://www.sylvan-l.net/b/2009/02/25/symfony%e3%81%a7sql%e3%82%92%e7%af%80%e7%b4%84/trackback/
- トラックバックの送信元リスト
- symfonyでsqlを節約 - sylvan より