在laravel中如何检查模型的对象是空的?

时间:2015-04-14 11:02:13

标签: php laravel laravel-4 laravel-5

我使用以下代码使用模型访问我的数据库。

$persons = WysPerson::where('family_id', $id)->get();

我使用以下代码检查$persons是否为空。

if($persons){
        var_dump($persons);
    }

实际上$persons是空的。但我得到var_dump的结果为

object(Illuminate\Database\Eloquent\Collection)#417 (1) { ["items":protected]=> array(0) { } }

我如何检查$persons是否为空?有人可以帮忙吗?

5 个答案:

答案 0 :(得分:15)

答案 1 :(得分:2)

使用计数功能

@if(count($ persons))

答案 2 :(得分:1)

如果你有雄辩的收藏,请像这样调用函数{{1}}:

{{1}}

返回true或false。 希望这会有所帮助。

答案 3 :(得分:0)

试试这个。

is_null($var)?abort('empty'):abort('filled') 

答案 4 :(得分:0)

您可以使用isEmpty()方法。

同时,在获取数据之前,您可以使用count()方法对其进行检查。

    $count = WysPerson::where('family_id', $id)->count();
    if($count==0){
       return redirect()->back()->withErrors('Empty Data');
     }
    $persons = WysPerson::where('family_id', $id)->get();