Сегодня выложил релиз Laravel Idea, в котором долго и старательно пытался сделать то, что давно хотел иметь: нормальный тайпхинтинг в Eloquent-запросах!
Сначала надо было вытащить информацию о таблицах базы данных. И я не придумал ничего лучше, чем проанализировать миграции. Соответственно, если там какая-то сложная логика, то плагин ничего не поймёт. Но логику там держать нехорошо, о чем очень скоро напишу статью. Вероятно, в следующих версиях появится возможность брать информацию прямо с базы данных, если она подключена у вас в IDE.
Вторая проблема в том, что в php нет дженериков, поэтому пришлось эмулировать их псевдоклассами, которые генерятся прямо в файле в _ide_helper_models.php. Результат на первый взгляд весьма неплох. На картинке внизу все методы подсказываются и в конце комплитятся элементы класса Post.
Агонь)