任何人都可以帮助我,如何使用laravel中的多个ID将单个值更新到数据库中?
我有两个输入字段,请查看以下代码
具有多重选择的第一个输入(潜在客户ID' s)
<select class="form-control" name="assign_lead[]" multiple>
@foreach ($sys_leads as $name)
<option value="{{$name->l_refcode}}">{{$name->l_fname}} {{$d->l_lname}} (Ref. Code: CL-{{$name->l_refcode}})</option>
@endforeach
</select>
单次选择的第二次输入
<select class="selectpicker form-control" name="assign_emp">
@foreach ($employee as $emp)
<option value="{{$emp->name}}">{{$emp->name}}</option>
@endforeach
</select>
我想要基于id的更新数据库,单个id更新它的工作,但我希望用单个单值更新多个id。
在laravel中使用db方法可以实现这一点吗?
public function assignpost(Request $request){
$assign_emp = $request->input('assign_emp');
$l_refcode = $request->input('assign_lead');
$l_leadassigneddate = date("Y-m-d");
DB::update('update sys_leads set l_assignedStaff = ?, l_leadassigneddate = ? where l_refcode = ?',[$assign_emp,$l_leadassigneddate,$l_refcode]);
return redirect('leads')->with([
'message' => 'Lead Assigned Successfully'
]);
}
答案 0 :(得分:0)
尝试使用以下代码更新多行:
DB::update('update sys_leads set l_assignedStaff = ?, l_leadassigneddate = ? where l_refcode IN (?)',[$assign_emp,$l_leadassigneddate,implode(", ",$l_refcode)]);
答案 1 :(得分:0)
尝试使用方法 whereIn()来约束查询和查询构建器的方法更新,例如:
DB::table('sys_leads')
->whereIn('l_refcode ', $l_refcode)
->update(['l_assignedStaff' => $assign_emp,
'l_leadassigneddate' => $l_leadassigneddate]);