いろいろ備忘録

雑記です。

CakePHP3のテーブルとエンティティの違い

CakePHPMVCであり、その内のモデルを2種類に分けたものがテーブルとエンティティです。
ざっくり言うとテーブルとはそのままDBのテーブル(集合)を表し、エンティティとは各行を表します。

テーブルクラスにはDBとの通信に必要な情報が保持されているため、DBとの通信がメインの仕事です。他にはバリデーションなんかもします。

エンティティはその通信結果の各レコードごとにインスタンスがあります。つまりエンティティはDBとは直接通信しません。

プログラム上での書き方も違います。テーブルは複数形であり、エンティティは単数形です。

関係としては、下のとおりです。

DB <-> Table <-> Entity <-> PHP