我试图找出我的表是否为空,但是出现此错误
调用未定义函数App \ Http \ Controllers \ isEmpty()
我确实检查了一个与我的标题相似但又没有我需要的问题。
这是我的代码
$orders = Order::all();
if(isEmpty($orders))
{
echo "Im empty";
die();
}else{
echo "im not empty";
die();
}
答案 0 :(得分:1)
检查表是否为空的最佳和最快的方法是:
//When using eloquent
if(empty(Order::count())){
// Do something here
}
或
//When using query builder
if(empty(DB::table('orders')->count())){
// Do something here
}
在内部,这些将计算数据库本身的总行数,并生成以下查询。
select count(*) as aggregate from `orders`
答案 1 :(得分:1)
您应该使用 Model::exists()
。它返回 true/false 并在后台运行 select count(*) from table where
查询。
if (Order::exists()) {
echo "im not empty";
die();
} else {
echo "Im empty";
die();
}
答案 2 :(得分:0)
如果要检查数组,请使用$orders->isEmpty()
,对于Laravel集合,可以使用isEmpty()
当前,您正在调用的函数$orders = Order::all();
if($orders->isEmpty())
{
echo "Im empty";
die();
}else{
echo "im not empty";
die();
}
尚不存在。
尝试一下:
{{1}}
答案 3 :(得分:0)
您可以调用雄辩的call
函数来获取计数,然后检查计数是否等于零。
$products = Order::count(); //returns products count
if($products == 0){
//products table is empty
}
或
if($products->isEmpty()){
//products table is empty.
}
答案 4 :(得分:0)
Laravel Documentation指出您可以使用这种方式:
$orders = Order::all();
if($orders->isEmpty())
{
echo "Im empty";
} else {
echo "Im not empty";
}