2016-10-13 136 views
2

的值是无法检查是否以下集合包含数据或不我如何检查是否集合包含Laravel

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

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

,但如果没有什么$users还是我没有得到其他部分。

+0

难道下面的回答其中一个答案你题?如果是这样,你会将它标记为已回答吗?感谢好友 –

回答

2

使用类似if ($users->count())if (count($users))的东西。

3

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

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

。它为我工作。 – sam

4

要检查,如果集合是空的,你可以使用isEmpty方法:

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

您可以创建一个宏,并把它变成你的AppServiceProvider

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

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