Как проверить, содержит ли коллекция значение в Laravel

Я не могу проверить, содержит ли следующая коллекция данные или нет

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

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

но если нет ничего в $users все же я не получаю еще часть.

2

Решение

Используйте что-то вроде if ($users->count()) или же if (count($users)),

2

Другие решения

Чтобы проверить, если коллекция пуста, вы можете использовать isEmpty метод:

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

->get() всегда будет возвращать коллекцию, вам просто нужно проверить, содержит ли она элементы.

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

Вы можете создать макрос и поместить его в свой AppServiceProvider.

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

Collection::macro('assertNotContains', function($value) {
Assert::assertFalse(
$this->contains($value)
);
});
0
По вопросам рекламы [email protected]