判断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()) { }

你可能感兴趣的:(判断Laravel Eloquent获取数据结果集是否为空)