Php 为什么通过Laravel检索的数据会有这样的行为?

Php 为什么通过Laravel检索的数据会有这样的行为?,php,laravel,laravel-4,Php,Laravel,Laravel 4,假设我做了这样的事情: $data = Somedatabase::all();// and in my database, this is EMPTY if ($data){ die('not empty'); }else{ die('empty); } 然而,结果是不是空的,为什么是空的?如果我把die('notempty')改为die($data)如果我会给我[] 因此,我的第一个问题是为什么它会这样做?(显示“[]”) 我问的原因是因为在我看来,我想这样做: @if ($dat

假设我做了这样的事情:

$data = Somedatabase::all();// and in my database, this is EMPTY
if ($data){
  die('not empty');
}else{
  die('empty);
}
然而,结果是
不是空的
,为什么是空的?如果我把
die('notempty')
改为
die($data)
如果我会给我
[]

因此,我的第一个问题是
为什么它会这样做?(显示“[]”)

我问的原因是因为在我看来,我想这样做:

@if ($data)
  @foreach ($data as $tmp)
    {{$tmp}}
  @endforeach
@else
  <p>EMPTY!</p>
@end
@if($data)
@foreach($tmp数据)
{{$tmp}}
@endforeach
@否则
空的

@结束
但是我永远都不能得到“空的!”现在我用$flag来检查,这样当它为空时我就可以得到消息,但我认为应该有更好的方法,所以,第二个问题是
如果我想得到“空的!”消息,我该怎么办?

提前感谢:)

Somedatabase:all()总是返回一个有说服力的集合对象。该对象是否包含任何数据是另一回事

最简单的检查方法是

if ($data->isEmpty()){
  die('empty');
}else{
  die('not empty);
}

Somedatabase:all()
总是返回一个雄辩的集合对象。该对象是否包含任何数据是另一回事

最简单的检查方法是

if ($data->isEmpty()){
  die('empty');
}else{
  die('not empty);
}


非常感谢。我现在使用“count()”来表示我之前提到的$flag,但是“isEmpty()”正是我真正想要的:)顺便说一句,你能和我分享一下你是如何找到isEmpty()方法的,因为它似乎不在文档中,或者我错过了什么吗?再次感谢:)我看了很多源代码-有许多未记录的函数非常有用。它们已慢慢添加到文档中。谢谢!我现在使用“count()”来表示我之前提到的$flag,但是“isEmpty()”正是我真正想要的:)顺便说一句,你能和我分享一下你是如何找到isEmpty()方法的,因为它似乎不在文档中,或者我错过了什么吗?再次感谢:)我看了很多源代码-有许多未记录的函数非常有用。它们被慢慢地添加到文档中