私のモデルでは通常、少なくとも 2 つの「get」ルーチン$model->get_one()
があり、私のモデルは多くの場合、 db レコード バージョンを処理する を$model->get_where()
拡張し、 のようなルーチンを持ちます。version_model
get_record_history()
これらのルーチンはすべて、同じデータベース フィールドを選択し、同じテーブル結合を行います。したがって、結合を DRY にするために、各モデルでルーチンを定義し、それを上記の他のモデル$model->create_joins()
で使用します。$model->get()
フィールド選択もDRYにするために追加$model->select_fields()
することも考えていますが、ここに投稿して、他の人がこれをどのように処理するか、またはより良い方法があるかどうかを確認すると思いましたか?
編集:質問:私のモデルで異なる基準で同じデータを選択するルーチンでテーブル結合を繰り返さないために、上記の方法よりも優れた方法はありますか? これは PDO のようなライブラリが処理するものですか?