Laravel проверяет, существует ли запись
новый для laravel, так что извините вопрос новичка, но как я могу найти, если запись существует?
$user = User::where('email', '=', Input::get('email'));
что бы я сделал здесь, чтобы увидеть, если $user
есть запись?
13 ответов:
Это зависит от того, хотите ли вы работать с пользователем после этого или только проверить, существует ли он.
Если вы хотите использовать объект пользователя, если он существует:
$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 }
if($user->isEmpty()){ // has no records }
красноречивый использует коллекции. Смотрите следующую ссылку:https://laravel.com/docs/5.4/eloquent-collections
Это просто узнать, если есть какие-либо записи или нет
$user = User::where('email', '=', Input::get('email'))->get(); if(count($user) > 0) { echo "There is data"; } else echo "No data";
в контроллере
$this->validate($request, [ 'email' => 'required|unique:user|email', ]);
в вашем представлении-дисплей уже существует сообщение
@if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
$user = User::where('email', request('email')->first(); return (count($user) > 0 ? 'Email Exist' : 'Email Not Exist');
вы можете использовать проверку laravel .
но этот код тоже хорош:
$user = User::where('email', $request->input('email'))->count(); if($user > 0) { echo "There is data"; } else echo "No data";
Это позволит проверить, если конкретный адрес электронной почты существует в таблице:
if (isset(User::where('email', Input::get('email'))->value('email'))) { // Input::get('email') exist in the table }
проверка
null
внутриif
оператор предотвращает Laravel от возврата 404 сразу после завершения запроса.if ( User::find( $userId ) === null ) { return "user does not exist"; } else { $user = User::find( $userId ); return $user; }
похоже, что он выполняет двойной запрос, если пользователь найден, но я не могу найти никакого другого надежного решения.
Laravel 5.6.26 v
чтобы найти существующую запись с помощью первичного ключа (email или id )
$user = DB::table('users')->where('email',$email)->first();
затем
if(!$user){ //user is not found } if($user){ // user found }
включить "использовать БД" и имя таблицы пользователь становится множественным, используя приведенный выше запрос, как пользователь для пользователей