Laravel - updateOrCreate 方法,是不是打破了编程原则

Jak*_*Lim 7 solid-principles laravel

我在 Laravel-Eloquent 的方法中找到了updateOrCreate(). 为什么在框架中我们可以找到破坏干净代码和 SOLID 规则的方法?

Ezr*_*rdy 1

我认为您指的是 SOLID 中所述的单一职责原则。长话短说,是的,Laravel PHP 框架中的某些方法破坏了 SOLID,而不仅仅是在 Eloquent ORM 中。

这称为反模式,如维基百科所述:

反模式是对重复出现的问题的常见反应,通常无效,并且有可能适得其反。

我们使用这种“反模式”的原因只是为了简单性和生产力。根据您的应用程序,使用 ORM(例如 Eloquent)处理数据有时可能会很复杂,这就是反模式能够发挥作用的原因。

使用 eloquent,您可以使用create()仅添加新记录以及updateOrCreate()添加新记录或更新它(如果已存在)。