我有一个用于创建新数据的代码, 但是我很高兴使用laravel 5.5在数据库中插入新数据的最佳方法是什么。
代码1:
example.com
或
COdes 2:
$user = User::create([
'name' => $request->name,
'username' => $request->username,
'email' => $request->email,
'password' => $request->password,
]);
最好的方法是什么?你的理由是什么?
答案 0 :(得分:3)
他们俩碰巧都是一样的。第一种选择是执行第二种选择的雄辩方式。 Eloquent用于以可读方式简化语句。像firstOrCreate这样的方法就是一个例子,说明了Eloquent方法在代码中的可读性和简单性。但是你提供的两个基本相同。
作为旁注,如果您需要有条件地保存属性,第二个选项允许您使用if语句或任何条件代码语句..
答案 1 :(得分:1)
这两种方式都很好。您需要知道的是当您使用其中一个或其他选项时。
当您想要接收和存储所有请求数据而无需任何处理时,您可以使用批量分配方式。但是当你想要更好地控制日期时,你可以选择第二种方式。
E.g
您有一个订阅表单,用于接收订户数据,包括用户名和密码,但您需要加密密码值。在这种情况下,最好的选择是第二个,因为您将通过请求接收密码属性,然后需要加密值,最后您将加密密码设置为$ model->密码属性。
您不需要的任何其他案例都可以绝对控制您可以使用质量分配方法的属性。
答案 2 :(得分:1)