Laravel 4:建模的可能性和在mySQL数据库中验证通用对象OOP

时间:2013-09-25 19:07:30

标签: php validation laravel laravel-4 eloquent

我目前正在尝试使用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 个答案:

没有答案