CakePHP3のアソシエーションでリレーション(JOIN)を行いデータを取得する
- CakePHP
CakePHPを使ってWEBアプリケーションを構築する際に避けて通れないのが「アソシエーション」という機能です。この機能はモデル自体をつなぐ(関連付ける)事でテーブルのリレーションを簡単に行えるようにするものですが、要するにリレーションです。アソシエーションに関してのイメージ、考え方も含めて使い方を解説します。
CakePHPを使ってWEBアプリケーションを構築する際に避けて通れないのが「アソシエーション」という機能です。この機能はモデル自体をつなぐ(関連付ける)事でテーブルのリレーションを簡単に行えるようにするものですが、要するにリレーションです。アソシエーションに関してのイメージ、考え方も含めて使い方を解説します。
CakePHP3のクエリビルダーの記法をここにまとめています。CakePHP3はバージョンによって多少の違いがあります。ここに記載されているのはCakePHP3.5時点での記法です。
MVCの「V」=「View」にあたる画面表示部分の構築を、CakePHP3では「テンプレート」と呼ばれる領域のファイルを作成する事で進めていきますが、いくつもあるビューテンプレートの中の共通部分を切り出し「レイアウト」という領域のファイルにまとめておく事ができます。今回は、テンプレートの基本的な記法とレイアウトを用いてビュー開発を行います。
CakePHP3は、それが定める命名規則に沿ってbakeコマンドでクラス・ファイルを作成していくと、各々が規則によって呼応し合い、動作するPHPフレームワークです。前回の記事では、MVCの中のコントローラとビューを使い、HelloWorldの表示までを行いました。今回は、MVCの「M」=「Model」モデルを使い、データベースからデータを取得し表示するまでを行います。
CakePHP3をインストールし初期設定を行って次にやる事といえば、ひとまずMVC流して一連の流れで画面出力をしてみようという事になるかと思います。今回は入門編という事で、簡単にコントローラとビューを通して画面出力を行う事と、コントローラからビューへのデータの受け渡し&表示を行います。
LaravelなどのPHPフレームワークで業務システムを構築していると必ずと言って良いほどついて回るのがCSVを扱う機能です。CSVアップロード・インポート・エクスポート・ダウンロード…と、クラウド基幹システム系には切っても切り離せない機能だと思います。今回はLaravelでのCSVデータ処理について、ファイルサイズに左右されずに安定して処理を回せる機能を実装します。