С помощью $users = User::where('password_changed_at', $currentDateTime)->get();
вы выбираете всех пользователей, которые изменили свою дату сегодня , но вы хотите выбрать всех пользователей, которые изменили свой пароль +30 дней назад.
Таким образом, вы можете просто выбрать их, используя область запроса. В вашем классе Users добавьте это:
class Users extends Authenticatable
{
// ...
public function scopePasswordOlderThan30Days(Builder $builder)
{
$expirationDate = Carbon::now()->subDays(30);
return $builder->where('password_changed_at', '<=', $expirationDate);
}
}
В вашей функции используйте это как:
public function passwordExpired()
{
$users = User::passwordOlderThan30Days()->get();
$users->each(function(User $user) {
// notify the user
})
}