タグ

2020年10月25日のブックマーク (1件)

  • [CakePHP3]ContainでSelectする場合の注意点 - Qiita

    ドキュメントをきちんと読めばわかる話しだが、少し手間取ったので念の為にメモっとく。 関連するテーブルのデータを取得したい場合は、containを利用すると思う。 その時に関連テーブルのカラムにデータ容量の大きいカラムがあるので、そのカラムは避けて取得したい。 そんな時は以下のような方法でselectするカラムを絞り込める。 例) $this->テーブルモデル名->get($id, [ ‘contain’ => [ テーブルA => function($q) { return $q->select([‘name’]) } ] ]); ただし!上のやり方ではデータがあったとしても取得できない。 なぜか!? それは外部キーの指定が必要だからだ。例えば外部キーがuser_idとしよう。 その場合、以下のようにuser_idを明示的に指定しなければならない。 例) $this->テーブルモデル名->

    [CakePHP3]ContainでSelectする場合の注意点 - Qiita
    sachiko-kame
    sachiko-kame 2020/10/25
    "ネスト セレクト"