Fragster
@Fragster
помогло? отметь решением!

Как сделать так, чтобы intelephense не ругался на Auth::user()->save()?

Имеется вот такой код:
$user = Auth::user();
      //....
      /* @var App\Models\User $user */ // это не принесло успеха
      if ($user->is_dirty) {
        $user->save();
      }


В котором intelephense подчеркивает ошибку и вообще выделяет файл красным:
v18vSQS.png
из-за того, что user() возвращает \Illuminate\Contracts\Auth\Authenticatable|null

Понятно, что формально оно право, но у меня (как и в 99.99% случаев) там будет Illuminate\Foundation\Auth\User расширяющий Illuminate\Database\Eloquent\Model у которого есть метод save

Как сделать так, чтобы оно не ругалось?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
Fragster
@Fragster Автор вопроса
помогло? отметь решением!
Сработало при оформлении комментария в /** **/:
/** @var \App\Models\User $user **/
    $user = Auth::user();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro
frontend developer
Найдите 10 отличий =)

667d607210255741153864.png

667d6079278b8291209444.png

667d607f0d109127603243.png

PS

Правильнее вот такую аннотацию сделать

/* @var null|\App\Models\User $user */
$user = Auth::user();


Всё-таки этот метод может и null вернуть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы