Laravel Проверка наличия записи

Я новичок в Laravel. Извините, пожалуйста, вопрос новичка, но как мне найти запись?

$user = User::where('email', '=', Input::get('email'));

Что я могу сделать здесь, чтобы увидеть, если $user есть запись?

184

Решение

Это зависит от того, хотите ли вы впоследствии поработать с пользователем или только проверить, существует ли он.

Если вы хотите использовать пользовательский объект, если он существует:

$user = User::where('email', '=', Input::get('email'))->first();
if ($user === null) {
// user doesn't exist
}

И если вы только хотите проверить

if (User::where('email', '=', Input::get('email'))->count() > 0) {
// user found
}

Или даже лучше

if (User::where('email', '=', Input::get('email'))->exists()) {
// user found
}
399

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

Одним из лучших решений является использование firstOrNew или же firstOrCreate метод. документация имеет больше деталей на обоих.

17

if($user->isEmpty()){
// has no records
}

Eloquent использует коллекции.
Смотрите следующую ссылку: https://laravel.com/docs/5.4/eloquent-collections

6

if (User::where('email', Input::get('email'))->exists()) {
// exists
}
4

Laravel 5.6.26v

найти существующую запись по первичному ключу (email или id)

    $user = DB::table('users')->where('email',$email)->first();

затем

      if(!$user){
//user is not found
}
if($user){
// user found
}

включить «использовать БД» и имя таблицы пользователь становится множественным числом, используя приведенный выше запрос, как пользователь для пользователей

1
if ($u = User::where('email', '=', $value)->first())
{
// do something with $u
return 'exists';
} else {
return 'nope';
}

будет работать с try / catch

-> get () по-прежнему возвращает пустой массив

1
if (User::where('email', 'user@email.com')->first())
// It exists
else
// It does not exist

использование first()не count() если вам нужно только проверить наличие.

first() является Быстрее потому что он проверяет на одно совпадение, тогда как count() считает все совпадения

1

Просто узнать, есть ли записи или нет

$user = User::where('email', '=', Input::get('email'))->get();
if(count($user) > 0)
{
echo "There is data";
}
else
echo "No data";
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector