Я новичок в Laravel. Извините, пожалуйста, вопрос новичка, но как мне найти запись?
$user = User::where('email', '=', Input::get('email'));
Что я могу сделать здесь, чтобы увидеть, если $user
есть запись?
Это зависит от того, хотите ли вы впоследствии поработать с пользователем или только проверить, существует ли он.
Если вы хотите использовать пользовательский объект, если он существует:
$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
}
Одним из лучших решений является использование firstOrNew
или же firstOrCreate
метод. документация имеет больше деталей на обоих.
if($user->isEmpty()){
// has no records
}
Eloquent использует коллекции.
Смотрите следующую ссылку: https://laravel.com/docs/5.4/eloquent-collections
if (User::where('email', Input::get('email'))->exists()) {
// exists
}
Laravel 5.6.26v
найти существующую запись по первичному ключу (email или id)
$user = DB::table('users')->where('email',$email)->first();
затем
if(!$user){
//user is not found
}
if($user){
// user found
}
включить «использовать БД» и имя таблицы пользователь становится множественным числом, используя приведенный выше запрос, как пользователь для пользователей
if ($u = User::where('email', '=', $value)->first())
{
// do something with $u
return 'exists';
} else {
return 'nope';
}
будет работать с try / catch
-> get () по-прежнему возвращает пустой массив
if (User::where('email', '[email protected]')->first())
// It exists
else
// It does not exist
использование first()
не count()
если вам нужно только проверить наличие.
first()
является Быстрее потому что он проверяет на одно совпадение, тогда как count()
считает все совпадения
Просто узнать, есть ли записи или нет
$user = User::where('email', '=', Input::get('email'))->get();
if(count($user) > 0)
{
echo "There is data";
}
else
echo "No data";