0

私が次のようにするとしましょう:

$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

しかし、「EMPTY!」を取得することはできません。そして今、私はチェックするために $flag を使用しているので、空のときにメッセージを受け取ることができますが、もっと良い方法があるはずだと思います.2番目の質問はwhat I suppose to do if I wanna get the "EMPTY!" message?

前もって感謝します :)

4

1 に答える 1

4

Somedatabase:all() 常に雄弁なコレクション オブジェクトを返します。そのオブジェクトにデータが含まれているかどうかは別の話です。

最も簡単な確認方法は次のいずれかです。

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

また

if ($data->count()){
  die('not empty');
}else{
  die('empty);
}
于 2013-09-16T08:56:18.773 に答える