我在Laravel中使用批量插入:
if __name__ == '__main__':
root = Tk()
app = Script1.App(root)
# Do something to set the entry
Script1.App.a = app.get_entry_value()
return User::create($user);
是行数组。
如何将成功插入的行作为数组返回?
现在,它仅返回最后插入的模型。
完整代码是:
$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,
];
}
return User::create($user);
}
答案 0 :(得分:1)
我认为这可行:
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;
}
或者,如果要使用批量插入,则必须选择插入的模型,如下所示:
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';
}