如何计算更新的行数
How to count number of rows that gets updated
我为控制器制作了这段代码:
public function updateUncompletedCarts(Request $request)
{
$uncompleted = Cart::where('crt_completed',0)->update([
'crt_completed' => 1,
'crt_changed' => 1,
]);
$nums = count($uncompleted);
Session::flash('carts-updated',$nums);
return redirect()->back();
}
现在我只是 运行 一个 update
查询,然后我想显示受影响的行数并将其添加到会话中,以便我可以在 Blade 中检索它,如下所示:
@if(Session::has('carts-updated'))
<div class="alert alert-success" role="alert">
{{ Session::get('carts-updated') }}
rows gets updated!
</div>
@endif
但是我得到这个错误:
count(): 参数必须是数组或实现Countable
的对象
它指向这一行:
$nums = count($uncompleted);
那么这里出了什么问题?我该如何解决这个问题?
根据文档:https://laravel.com/docs/4.2/eloquent#insert-update-delete
update() 方法returns受影响的行数。
所以,您的代码应该是:
public function updateUncompletedCarts(Request $request) {
$uncompleted = Cart::where('crt_completed',0)->update([
'crt_completed' => 1,
'crt_changed' => 1,
]);
Session::flash('carts-updated',$uncompleted);
return redirect()->back();
}
我为控制器制作了这段代码:
public function updateUncompletedCarts(Request $request)
{
$uncompleted = Cart::where('crt_completed',0)->update([
'crt_completed' => 1,
'crt_changed' => 1,
]);
$nums = count($uncompleted);
Session::flash('carts-updated',$nums);
return redirect()->back();
}
现在我只是 运行 一个 update
查询,然后我想显示受影响的行数并将其添加到会话中,以便我可以在 Blade 中检索它,如下所示:
@if(Session::has('carts-updated'))
<div class="alert alert-success" role="alert">
{{ Session::get('carts-updated') }}
rows gets updated!
</div>
@endif
但是我得到这个错误:
count(): 参数必须是数组或实现Countable
的对象它指向这一行:
$nums = count($uncompleted);
那么这里出了什么问题?我该如何解决这个问题?
根据文档:https://laravel.com/docs/4.2/eloquent#insert-update-delete
update() 方法returns受影响的行数。
所以,您的代码应该是:
public function updateUncompletedCarts(Request $request) {
$uncompleted = Cart::where('crt_completed',0)->update([
'crt_completed' => 1,
'crt_changed' => 1,
]);
Session::flash('carts-updated',$uncompleted);
return redirect()->back();
}