スポンサーリンク

CakePHP3のORMで,テーブルをJOINするPHPコード(SQLを書かずにLEFT JOIN)

CakePHPのORMでJOIN。

CakePHPのバージョンは3.7.9で,CentOSのVPS上で使っている。

PHPコード

Hogeモデルでfindする際に,Fugaモデルの情報をくっつけたい場合。

<?php

$query = $this
  ->find()

  // fugaをhogeにJOINする
  ->join([
    "table" => "fugas",
    "alias" => "f",
    "type"  => "LEFT",
    "conditions" => "f.hoge_id = Hoge.id"
  ])
  
  // カラムを選ぶ
  ->select([
    "id"        => "Hoge.id",
    "hoge_prop" => "Hoge.prop",

    "fuga_prop" => "f.prop"
  ])

  // 表示順序
  ->order([ "f.prop" => "ASC" ] )

  ->all()
;

?>