Laravel不返回null - 查询构建器

时间:2015-12-11 19:17:11

标签: php laravel

我有这段代码:

$u_t = User::where('set', '1')->get();

当我死并转储dd($u_t)时,我得到以下内容:

  Collection {#159 ▼
  #items: array:1 [▼
    0 => set {#158 ▶}
  ]
}

到目前为止这是好事。现在当我更换" 1"有些胡言乱语,像这样:     $ u_t = User :: where(' set',' adsfljasdlkf') - > get();

我明白了:

 Collection {#164 ▼
  #items: []
}

我真的没有null。我怎样才能返回null?

编辑:当我->first()代替->get()时,如果我输入垃圾,我会获得null。如果我将其替换为null,我将无法获得->get()

1 个答案:

答案 0 :(得分:2)

使用get()时,您会收到一组用户,因此返回null毫无意义。它总是返回一个集合,无论它找到多少用户。

如果您坚持,可以自己将其更改为null

$users = User::where('set', '1')->get();

if ($users->isEmpty()) {
    $users = null;
}