MySQL 数据库中的多行插入来自依赖项下拉列表
Multiple row insertion in MySQL DB from Dependency Dropdown
我正在尝试从管理员用户的依赖项下拉列表中插入所有选定的用户,但我在这里做错了。
下面是我的table结构:Table_Name:docrole
我需要插入数据如下:
这是我的代码
控制器
public function DocumentRoleStore(Request $request)
{
$DocRoleModel = new Docrole;
$DocRoleModel->deptid = $request->roledepartment;
$DocRoleModel->accessto = $request->roleuser;
$DocRoleModel->uploadby = $request->roleassignuser;
$DocRoleModel->save();
$rolesassign[] = $request->roleassignuser;
foreach($rolesassign as $key=>$name)
{
Docrole::insert($key);
}
return redirect()->back()->with('status','Role added successfully');
blade 查看
<div class="container mt-4">
<form action="/document-role-data" method="post">
@csrf
<div class="row">
<div class="col-lg-6 offset-lg-3 mb-3">
<select class="form-select form-control" name="roleuser">
<option selected>Select User</option>
@foreach ($usersdata as $item)
<option value="{{$item->username}}">{{$item->username}}</option>
@endforeach
</select>
</div>
<div class="col-lg-6">
<select class="form-select form-control" name="roledepartment" id="Role-Department">
<option selected>Select Department</option>
<option value="1">All Departments</option>
@foreach ($departmentDatas as $item)
<option value="{{$item->deptid}}">{{$item->deptname}}</option>
@endforeach
</select>
</div>
<div class="col-lg-6">
<select class="form-select form-control" id="employeelist" required multiple name="roleassignuser[]">
<option selected="false">Select User</option>
</select>
</div>
<div class="col-lg-12">
<button type="submit" class="btn btn-primary float-right mt-4">Submit</button>
</div>
</div>
</form>
</div>
我相信你的 DocumentRoleStore()
函数应该像...
public function DocumentRoleStore(Request $request)
{
foreach($request->roleassignuser as $roleUser) {
Docrole::create([
'deptid' => $request->roledepartmen,
'accessto' => $request->roleuser,
'uploadby' => $roleUser
]);
}
return redirect()->back()->with('status','Role added successfully');
}
这里我使用了模型class的Create()方法,这需要在模型中启用批量赋值。要启用批量分配,您可以将以下代码添加到 Docrole
class.
protected $fillable = ['deptid', 'accessto', 'uploadby'];
我正在尝试从管理员用户的依赖项下拉列表中插入所有选定的用户,但我在这里做错了。
下面是我的table结构:Table_Name:docrole
我需要插入数据如下:
这是我的代码
控制器
public function DocumentRoleStore(Request $request)
{
$DocRoleModel = new Docrole;
$DocRoleModel->deptid = $request->roledepartment;
$DocRoleModel->accessto = $request->roleuser;
$DocRoleModel->uploadby = $request->roleassignuser;
$DocRoleModel->save();
$rolesassign[] = $request->roleassignuser;
foreach($rolesassign as $key=>$name)
{
Docrole::insert($key);
}
return redirect()->back()->with('status','Role added successfully');
blade 查看
<div class="container mt-4">
<form action="/document-role-data" method="post">
@csrf
<div class="row">
<div class="col-lg-6 offset-lg-3 mb-3">
<select class="form-select form-control" name="roleuser">
<option selected>Select User</option>
@foreach ($usersdata as $item)
<option value="{{$item->username}}">{{$item->username}}</option>
@endforeach
</select>
</div>
<div class="col-lg-6">
<select class="form-select form-control" name="roledepartment" id="Role-Department">
<option selected>Select Department</option>
<option value="1">All Departments</option>
@foreach ($departmentDatas as $item)
<option value="{{$item->deptid}}">{{$item->deptname}}</option>
@endforeach
</select>
</div>
<div class="col-lg-6">
<select class="form-select form-control" id="employeelist" required multiple name="roleassignuser[]">
<option selected="false">Select User</option>
</select>
</div>
<div class="col-lg-12">
<button type="submit" class="btn btn-primary float-right mt-4">Submit</button>
</div>
</div>
</form>
</div>
我相信你的 DocumentRoleStore()
函数应该像...
public function DocumentRoleStore(Request $request)
{
foreach($request->roleassignuser as $roleUser) {
Docrole::create([
'deptid' => $request->roledepartmen,
'accessto' => $request->roleuser,
'uploadby' => $roleUser
]);
}
return redirect()->back()->with('status','Role added successfully');
}
这里我使用了模型class的Create()方法,这需要在模型中启用批量赋值。要启用批量分配,您可以将以下代码添加到 Docrole
class.
protected $fillable = ['deptid', 'accessto', 'uploadby'];