(Я проверил предыдущие сообщения об этой ситуации)
На картинках ниже вы видите код из ТОГО ЖЕ файла "StripeController.php"
Оба класса/модели (StripeEvent и Transaction) расширяют модель, имеют
пространство имен App\Models и использует:
используйте Illuminate\Database\Eloquent\Factory\HasFactory;
используйте Illuminate\Database\Eloquent\Model;
Эта строка НЕ присутствует ни в одной из этих моделей (используйте Illuminate\Database\Eloquent\Builder)
Блоки DOC отсутствуют в обоих классах/моделях.
Здесь PhpStorm говорит, что метод firstWhere не найден в модели StripeEvent:
Но в предыдущей строке (в том же файле) с моделью транзакций PhpStorm находит этот метод:
Я пытался создать другие новые модели, но проблема осталась прежней. Методы распознаются PhpStorm только для старых/ранее созданных моделей, но НЕ распознаются для новых.
Я подозреваю, что может быть какой-то конфиг или вспомогательный кеш, который нужно сгенерировать заново.
Есть идеи, как это исправить и сделать так, чтобы код PhpStorm подсказывал, а не подчеркивал красноречивые методы?
Если вы используете Laravel Idea в своем PhpStorm, вам нужно нажать «Laravel/Создать вспомогательный код» в верхнем меню. Кроме того, если в вашем приложении laravel есть пакет Laravel IDE Helper, вы можете использовать следующие команды:
php artisan ide-helper:generate
php artisan ide-helper:models
php artisan ide-helper:meta
Пожалуйста. Я не использовал оба одновременно, поэтому я не могу сказать наверняка. Я предполагаю, что это не приводит к серьезной проблеме. Возможно, вы получите уведомление «Для класса существует несколько определений» при анализе кода PhpStorm (если вы получите уведомление, вы можете посмотреть здесь).
Да, я использую Laravel Idea, и «Создать вспомогательный код» решил ситуацию. Вы также упомянули Laravel IDE Helper. Можно ли его использовать вместе с Laravel Idea, в смысле не будет ли конфликтов? Спасибо за совет.