繁体   English   中英

如何检查集合是否包含Laravel中的值

[英]How to check if collection contains a value in Laravel

我无法检查以下集合是否包含数据

$users = \App\Tempuser::where('mobile','=',$request->mobile)->get();

if(isset($users))
  return "ok";
else
  return "failed";

但如果$users没有任何东西,我仍然没有得到其他部分。

要检查集合是否为空,可以使用isEmpty方法:

if( $users->isEmpty() )
  return "collection is empty";
else
  return "collection is not empty";

->get()将始终返回一个集合,您只需要验证它是否包含元素。

if ($users->count())
    return "ok";
else
    return "failed";

使用if ($users->count())if (count($users))

您可以创建一个宏并将其放入AppServiceProvider中

Collection::macro('assertContains', function($value) {
    Assert::assertTrue(
         $this->contains($value)
    );
});

Collection::macro('assertNotContains', function($value) {
    Assert::assertFalse(
        $this->contains($value)
    );
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM