如何return所有插入的批量数据Laravel?
How to return all inserted bulk data Laravel?
我在 Laravel 中使用批量插入:
return User::create($user);
其中 $user
是行数组。
如何return成功插入行作为数组?
现在它 return 只是最后插入的模型。
完整代码为:
public function register(Request $request)
{
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$user = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
}
return User::create($user);
}
我可以执行以下操作吗?
public function register(Request $request)
{
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$user = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
}
try {
User::create($user);
return $user;
} catch ($e) {
}
}
我认为这可行:
public function register(Request $request)
{
$created = [];
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$user = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
$created[] = User::create($user);
}
return $created;
}
或者如果你想使用批量插入,你必须 select 之后插入模型,像这样:
public function register(Request $request)
{
$users = [];
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$users[] = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
}
if(User::insert($users))
{
return User::whereIn('email', array_column($users, 'email'))->get();
}
return 'error';
}
我在 Laravel 中使用批量插入:
return User::create($user);
其中 $user
是行数组。
如何return成功插入行作为数组?
现在它 return 只是最后插入的模型。
完整代码为:
public function register(Request $request)
{
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$user = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
}
return User::create($user);
}
我可以执行以下操作吗?
public function register(Request $request)
{
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$user = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
}
try {
User::create($user);
return $user;
} catch ($e) {
}
}
我认为这可行:
public function register(Request $request)
{
$created = [];
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$user = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
$created[] = User::create($user);
}
return $created;
}
或者如果你想使用批量插入,你必须 select 之后插入模型,像这样:
public function register(Request $request)
{
$users = [];
foreach ($request->email as $key => $value) {
$hashed = Hash::make($key);
$users[] = [
"name" => $request->get('name')[$key],
"email" => $value,
"password" => $hashed,
];
}
if(User::insert($users))
{
return User::whereIn('email', array_column($users, 'email'))->get();
}
return 'error';
}