テーブルに対してある処理を複数のテーブルが持っている場合、複数のモデルに同じ処理を書くようになってしまうけど、実体は1箇所にして、モデル(テーブル)を都度切り替える方法
例えば、テーブルA、テーブルB、テーブルCにxxxxというカラムがあって、それぞれのテーブルのxxxxカラムに同じ処理したい場合、モデルA、B、C全てに同じ処理を記述してしまいがちだが、親クラスを作り親クラスに実体を記述して、モデルA、B、Cからはパラメータに自モデルを渡して親モデルのメソッドをコールするようにする。
対応前
モデルA
tableA::何かの処理
モデルB
tableB::何かの処理
モデルC
tableC::何かの処理
対応後
親クラス
protected function hoge($model){
$model->何かの処理
}
モデルA
$this->hoge(new モデルA());
モデルB
$this->hoge(new モデルB());
モデルC
$this->hoge(new モデルC());
にした方が、同じ(似たような)処理が複数存在せずに綺麗だと思う。