Database 如何更新数据库列中的多个数据?
这是我的组控制器页面。所以基本上我想从组中的现有用户创建组。我的数据库中有两个表,一个是“用户”,另一个是“组”。所以,在创建任何组时,它都会检查数据库中是否有用户。如果用户在数据库中,则应创建组并将用户表中名为“group_id”的列更新为“1”,以便一个用户不能在多个组中。问题是,下面的代码只适用于一个用户,它只更新第一个用户或输入的组id,而不更新其余用户的组id。我想更新用于创建组的所有用户的“组\u id”。我知道下面的代码只适用于一个用户。我想知道如何使用循环或其他方式为多个用户执行此操作。如何更新所有输入或用户的“组\u id”?这是我使用的代码Database 如何更新数据库列中的多个数据?,database,laravel,eloquent,eloquent-relationship,Database,Laravel,Eloquent,Eloquent Relationship,这是我的组控制器页面。所以基本上我想从组中的现有用户创建组。我的数据库中有两个表,一个是“用户”,另一个是“组”。所以,在创建任何组时,它都会检查数据库中是否有用户。如果用户在数据库中,则应创建组并将用户表中名为“group_id”的列更新为“1”,以便一个用户不能在多个组中。问题是,下面的代码只适用于一个用户,它只更新第一个用户或输入的组id,而不更新其余用户的组id。我想更新用于创建组的所有用户的“组\u id”。我知道下面的代码只适用于一个用户。我想知道如何使用循环或其他方式为多个用户执行
public function store(Request $request) {
$member_name = $request->member_name;
$users = User::where('name', '=', $member_name)->first();
$affected = DB::table('users')->where('name', '=', $member_name) ->update(['group_id' => 1]);
foreach ($request->all() as $key => $affected) {
dump($key, $affected);
}
if ($users) {
$group = new Group([
'name' => $request->get('name'),
'idea' => $request->get('idea'),
'member_name' => $request->get('member_name'),
'group_id' => $request->get('group_id'),
]);
if ($group->save()) {
return redirect()->to('users');
} else {
echo 'users are not in the db';
}
}
}
您的问题对我来说仍然不清楚您的问题一点也不清楚,但要回答部分问题,在您的查询中,
->where('name','=',$member\u name)
将针对单个用户,因此只有一个用户关心您的更新是正常的。您能告诉我们吗?各位好,谢谢您的建议。我更新了问题。