Eloquent ORM Code Hinting
In Laravel, Eloquent models provide an expressive interface for interacting with the database. However, some method calls may not show up in PhpStorm's code hinting.
Query Builder Issue
For instance, when using the User::query() method, which returns an Eloquent Builder object, code completion for methods like orderBy() may be missing.
Solution: Laravel IDE Helper
To resolve this, install the laravel-ide-helper package. This package provides PHP Documentor metadata for Laravel models.
Generating Model Documentation
Run the php artisan ide-helper:models command to generate a separate PHP file with PHP Documentor annotations for each model. Alternatively, you can write the annotations directly to the model files using php artisan ide-helper:models -W.
Example
The generated documentation for the User model will look similar to:
namespace App { /** * App\Post * * @property integer $id * @property integer $author_id * @property string $title * @property string $text * @property \Carbon\Carbon $created_at * @property \Carbon\Carbon $updated_at * @property-read \User $author * @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments */ class Post {} }
Integration with PhpStorm
Once the documentation is generated, PhpStorm will automatically load the annotations and provide accurate code completion for Eloquent methods.
The above is the detailed content of How to Fix Eloquent Code Hinting Issues in Laravel?. For more information, please follow other related articles on the PHP Chinese website!