我有表item
,每个用户可以根据需要添加和删除,但我希望item
中始终只有一个条目。
有这种肮脏的方式,但肯定有更好的方法。
我的解决方案:
$items = item::all();
foreach($items as item)
{
$a++;
}
if ($a > 1) {
delete_item();
return back();
} else {
return back();
}
必须有一种更清洁的方法来做到这一点。
答案 0 :(得分:4)
你可以use the count()
method from QueryBuilder/Eloquent。它返回表格中的项目数:
$totalOfItems = Items::count();
if ($totalOfItems > 1) {
delete_item();
}
return back();
这样,如果您的表格中的项目总数大于1
,则delete_item()
操作将完成其工作,否则,它将返回。
希望这会对你有所帮助。
答案 1 :(得分:0)
如果您希望将此作为默认行为,则可以在deleting
事件上添加事件侦听器并使用count()
。
有关哪个laravel版本