PHP逆引き大全 516の極意

データベースの極意 - Tips410 関連するテーブルのレコードを抽出する

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

6-4Propelの利用 基本編Tips410 関連するテーブルのレコードを抽出する

Level1

Pointメインとなるテーブルの抽出結果オブジェクトに定義されているgetメソッドを用いる

関連するテーブルのレコードを抽出するには、まずメインとなるテーブルのレコードをオブジェクトとして取得し、次にそのオブジェクトが持つgetメソッドを利用します。

例えば、booksテーブルに紐づくpublishersテーブルのレコードを取得するには、以下のように記述します。

$book = BookQuery::create()->findPk(1);
$publisher = $book->getPublisher();

booksテーブルとpublishersテーブルは多対1の関係ですので、publishersテーブルのレコードを取得するメソッドは複数形のgetPublishers()ではなく、単数形のgetPublisher()となります。

逆に、booksテーブルとreviewsテーブルは1対多の関係ですから、以下のように複数形でgetReviews()と記述します。

$book = BookQuery::create()->findPk(1);
$reviews = $book->getReviews();

出典情報

Medium

PHP逆引き大全 516の極意

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

コメント

    コメントはありません