判断Laravel Eloquent获取数据结果集是否为空

User::get() 如果没有查到数据,返回一个空集合,可以使用toArray()方法转成空数组,进行判断
if(User::get() ) == true
if(User::get()->toArray() ) == false

User::first() 如果没有查到数据,返回一个null,因此不能使用toArray()方法
if(User::first() ) == false 表示记录为空

在使用Laravel Eloquent模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的。

var_dump之后我们很容易发现,即使取到的空结果集, Eloquent仍然会返回Illuminate\Database\Eloquent\Collection对象实例。
其实,Eloquent已经给我们封装几个判断方法。

$result = Model::where(...)->get();
//不为空则
if ($result->first()) { } 
if (!$result->isEmpty()) { }
if ($result->count()) { }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容