【发布时间】:2017-03-25 17:03:41
【问题描述】:
在 laravel 的 eloquent ORM 中,有没有办法定义模型的允许属性?
默认情况下,我可以将任何属性放入模型的构造函数中 - 但只有在我实际尝试将模型保存到数据库时,我才会收到有关错误属性名称的通知。
示例代码:
// this works although there is a typo in "lastname"
$user = new \App\User(['firstname' => 'foo', 'lastnam' => 'bar']);
// this errors out with an SQL error
$user->save();
那么,有没有办法让 Laravel 自动检查请求的输入数据中是否存在无效键?
【问题讨论】:
-
@SteffenBrem 和我强烈建议你在 Laravel 项目中使用 Eloquent 而不是 Doctrine。 )
-
@AlexeyMezenin Eloquent 可以用于演示或原型,但对于任何其他情况,Doctrine 是优越的。 Eloquent 违反了许多编程原则,他们这样做是为了使其“更容易”(我们可以争论)使用。我只是给初学者一个建议,这样他们就不必在编程之旅中走很长的路了。
-
@SteffenBrem Laravel 本身违反了很多编程原则。这就是为什么它对实际项目如此方便。 ) Symfony 是另一个伟大的框架,适合那些更喜欢尊重所有已知的编程原则而不是方便和更高的开发速度的人。
-
@AlexeyMezenin 确实!很高兴你这么说。我试图鼓励人们更多地遵循这些原则,并且与遵守这些原则的项目合作是开始理解它们的好方法。在 Laravel 等框架中学习那些糟糕的做法非常容易,而且对任何人都没有任何好处。