6-4Propelの利用 基本編Tips411 内部結合し結果を抽出する
Level1
PointModelCriteria::join()を利用する
内部結合(INNER JOIN)するには、Model
Criteria::join()メソッドを利用し、引数に結合先テーブル名を指定します。以下のように記述します。
$books = BookQuery::create()
->join('Publisher')
->find();
生成されるSQLは以下になります。
SELECT books.ID, books.TITLE, books.SUBTITLE, books.PAGE_NUM, books.AUTHOR, books.PRICE, books.PUBLISH_DATE, books.PUBLISHER_ID, books.CDROM_FLAG FROM `books` INNER JOIN publishers ON (books.PUBLISHER_ID=publishers.ID)
上記の通り、抽出対象のカラムにはpublishersテーブルのカラムが含まれていません。publishersテーブルのレコードを取得するには、以下のように記述します。
foreach($books as $
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録