更新已检查的表行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新已检查的表行相关的知识,希望对你有一定的参考价值。
我需要一次更新已检查的表行
我尝试使用下面的代码来更新某个列,但只有当我想删除已检查的行时它才有效
<td><input type="checkbox" name="selected[]" value="{{ $user->id }}"/></td>
public function update(Request $request)
{
$checked = $request->input('selected',[]);
User::whereIn('id', $checked)->update(['status' => 1]);
return redirect('/home/users');
}
我希望能够一次更新已检查的行。
答案
你的update
函数中的语法错误,你应该使用:
User::whereIn('id', $checked)->update('status', 1);
要么
User::whereIn('id', $checked)->update(['status' => 1]);
另一答案
如果你通过echo"<pre>";print_r($checked);die;
,你会看到$checked
是一个阵列。所以,执行一个foreach
循环,你将得到每个id
作为字符串。然后更新它。还要将其更新为->update()
中的数组。
另一答案
你可以尝试下面的代码:
<td><input type="checkbox" name="selected[]" value="{{ $user->id }}"/>{{$user->name}}</td>
public function update(Request $request)
{
$input = $request->all();
foreach ($input['selected'] as $select) {
User::update(array('user_id' => $select->id), [
'status' => '1',
]);
}
return redirect('/home/users');
}
以上是关于更新已检查的表行的主要内容,如果未能解决你的问题,请参考以下文章