symfonyでsqlを節約
doSelectJoinXXX()
っていう関数を使うと 2 つのテーブルを join した結果を SQL 1 本で取得できる。 この関数は schema.yml で外部参照を設定すると自動で生成される。
データベースへの必要なクエリの回数は11回ではなく1回なので速くなります。
[code] // アクション内で $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
// テンプレートにおいて(変わらず)
- getTitle() ?>, written by getAuthor()->getName() ?>
[/code]