0

私は現在 Eloquent ORM を試しており、アプリケーション内でオブジェクトを動的にモデル化する可​​能性を検討しています。

形状モデルがあるとしましょう。

形状は、正方形、円、三角形、長方形、五角形、六角形などです。

すべての形状には類似点がありますが、一部の形状には異なる特性があります。

私がやりたいことは、mysql データベース テーブルをより一般的なものにすることです。たとえば、shapes というテーブルを作成します。

形状テーブル:

id:integer
name:string
width:integer
height:integer
radius:integer
sides:integer

形状モデル:

$rulesCircle = ['sides'=>'required', 'radius'=>'required']

$rulesSquare = ['height'=>'required', 'sides' => 'required']

$rulesRectangle = ['height'=>'required', 'width' => 'required', sides' => 'required']

ここで、ユーザーに形状の寸法を選択して指定するよう求めるフォームがあると仮定しましょう。

ユーザーが円を選択すると仮定すると、正しい検証ルールを使用する必要があります。

これはばかげた例のように聞こえるかもしれませんが、実験的な理由でこれを調べているだけです。

これを行う正しい方法は次のとおりです。

  1. 異なる検証ルール (if / else ステートメント) を持つ形状モデルを使用して、正しい検証ルールを選択します
  2. すべてに共通の機能 (名前と側面など) を含むすべての一般的な形状と、形状モデルを拡張するがすべて同じ形状の mysql テーブルを参照する正方形/円/長方形モデルに形状モデルを使用します。
  3. 他の

上記は可能ですか?上記に取り組むためのより良い方法はありますか?これを行うためのベストプラクティスの方法はありますか? 上記の種類の要件を表す特定の用語はありますか?

4

0 に答える 0