#php #laravel #laravel-5 #eloquent #laravel-8
Вопрос:
Когда я пытаюсь получить список пользователей User:all()
, он показывает мне пользователей, которые также не проверены по электронной почте.
Поэтому, чтобы избежать описанной выше ситуации, я пишу следующий код.
$users = User::with('selfie')->whereNotNull('email_verified_at')->orderBy('created_at', 'desc')->get();
дайте мне знать, если есть какой-нибудь другой более короткий путь.
Ответ №1:
Мы можем определить область применения https://laravel.com/docs/8.x/eloquent#local-scopes
в Пользовательской Модели
public function scopeVerified($query)
{
return $query->whereNotNull('email_verified_at');
}
и наш запрос будет выглядеть так
$users = User::with('selfie')
->verified()
->orderBy('created_at', 'desc')
->get();
Ответ №2:
Я надеюсь, что это сработает
$users = User::whereNOTNULL('email_verified_at')->get();
Вы получите весь список
Комментарии:
1. да, я делаю то же самое, что вы можете видеть в моем посте. Но я хочу получить тот же результат от пользователя::все();