VS Code Intelephense показывает «Неопределенный метод» в пользовательских отношениях Eloquent после Auth::user()Php

Кемеровские программисты php общаются здесь
Anonymous
VS Code Intelephense показывает «Неопределенный метод» в пользовательских отношениях Eloquent после Auth::user()

Сообщение Anonymous »

Описание проблемы
Я использую Laravel 13 и Visual Studio Code с расширением PHP Intelephense. Я определил связь HasMany в своей модели User под названием Task().
Однако, когда я пытаюсь вызвать этот метод через фасад Auth, моя IDE помечает его как неопределенный метод. Если я пытаюсь изменить синтаксис, ошибка часто переходит в сам метод user().
Мой код
App\Models\User.php:

Код: Выделить всё

namespace App\Models;

use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable;
// ... other imports

#[Fillable(['name', 'email', 'password'])]
class User extends Authenticatable
{
// ... factory and casts

public function task(): HasMany
{
return $this->hasMany(Task::class);
}
}
Livewire/TaskList.php

Код: Выделить всё

// This line shows "Undefined method 'task'" in VS Code
Auth::user()->task()->create([
'title' => $this->title,
]);
Что я пробовал:
  • Проверил, что метод Task() существует в модели User.
  • Гарантировано использование Illuminate\Support\Facades\Auth; импортируется.
  • Пытался использовать auth() вместо Facade, но IDE по-прежнему не распознает метод пользовательской связи.
  • Обновлен индекс Intelephense.
Среда:
  • Laravel 13
  • PHP 8.2
  • VS Code с PHP Intelephense
  • ОС: Ubuntu
Как заставить среду IDE распознавать, что Auth::user() возвращает мою конкретную модель App\Models\User вместо общей Аутентифицируемый класс?

Вернуться в «Php»