检查Laravel中是否只有一个数据库条目

时间:2017-02-15 11:45:34

标签: php laravel

我有表item,每个用户可以根据需要添加和删除,但我希望item中始终只有一个条目。

有这种肮脏的方式,但肯定有更好的方法。

我的解决方案:

$items = item::all();

foreach($items as item)
{
    $a++;
}

if ($a > 1) {
    delete_item();
    return back();
} else {
    return back();
}

必须有一种更清洁的方法来做到这一点。

2 个答案:

答案 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版本

的详细信息,请查看documentation