Laravel Eloquent get获取空的数据问题

在用laravel框架来获取数据,若数据不存在时,以为会返回空,其实不是的,其实是一个 collection 值,会返回如下:

object(Illuminate\Database\Eloquent\Collection)#191 (1) {
  ["items":protected]=>
  array(0) {
  }
}
$result = User::where('id', 100)->get();

当 $result 为空时,empty($result) 是不为false的,还是有值的,如上,因此要用 count($result) 来验证;或者修改获取语句,改为

$result = User::where('id', 100)->get()->toArray();

则会把 $result 转化为数组,这样 empty($result) 就有效果了。

posted @ 2016-04-27 17:47  林锅  阅读(1899)  评论(0编辑  收藏  举报