Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何更新数据库列中的多个数据?_Database_Laravel_Eloquent_Eloquent Relationship - Fatal编程技术网

Database 如何更新数据库列中的多个数据?

Database 如何更新数据库列中的多个数据?,database,laravel,eloquent,eloquent-relationship,Database,Laravel,Eloquent,Eloquent Relationship,这是我的组控制器页面。所以基本上我想从组中的现有用户创建组。我的数据库中有两个表,一个是“用户”,另一个是“组”。所以,在创建任何组时,它都会检查数据库中是否有用户。如果用户在数据库中,则应创建组并将用户表中名为“group_id”的列更新为“1”,以便一个用户不能在多个组中。问题是,下面的代码只适用于一个用户,它只更新第一个用户或输入的组id,而不更新其余用户的组id。我想更新用于创建组的所有用户的“组\u id”。我知道下面的代码只适用于一个用户。我想知道如何使用循环或其他方式为多个用户执行

这是我的组控制器页面。所以基本上我想从组中的现有用户创建组。我的数据库中有两个表,一个是“用户”,另一个是“组”。所以,在创建任何组时,它都会检查数据库中是否有用户。如果用户在数据库中,则应创建组并将用户表中名为“group_id”的列更新为“1”,以便一个用户不能在多个组中。问题是,下面的代码只适用于一个用户,它只更新第一个用户或输入的组id,而不更新其余用户的组id。我想更新用于创建组的所有用户的“组\u 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)
将针对单个用户,因此只有一个用户关心您的更新是正常的。您能告诉我们吗?各位好,谢谢您的建议。我更新了问题。