PHP逆引き大全 516の極意

データベースの極意 - Tips411 内部結合し結果を抽出する

登録タグ
PHP
Icon comment count 0
Icon stock count 0

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 $

出典情報

Medium

PHP逆引き大全 516の極意

  • 著者: 大家 正登, 茂木 健一, 鮫島 康浩, 谷中 志織

コメント

    コメントはありません