让我说我喜欢这样:
$data = Somedatabase::all();// and in my database, this is EMPTY
if ($data){
die('not empty');
}else{
die('empty);
}
结果是not empty
,为什么会这样?如果我将die('not empty')
更改为die($data)
,如果会给我[]
所以,我的第一个问题是why it behaves this way?(showing a '[]')
我问的原因是因为我认为,我想这样做:
@if ($data)
@foreach ($data as $tmp)
{{$tmp}}
@endforeach
@else
<p>EMPTY!</p>
@end
但我永远不会得到“空!”现在我正在使用$ flag进行检查,以便当它为空时我可以收到消息,但我认为应该有更好的方法,所以,第二个问题是what I suppose to do if I wanna get the "EMPTY!" message?
提前致谢:)
答案 0 :(得分:4)
Somedatabase:all()
总是返回一个雄辩的集合对象。该对象是否包含任何数据是另一回事。
最简单的检查方法是
if ($data->isEmpty()){
die('empty');
}else{
die('not empty);
}
或
if ($data->count()){
die('not empty');
}else{
die('empty);
}