LaravelのDatabaseのModelのメソッドがIntelliJに認識されない問題を解決する

IntelliJ IDEA
Laravel
php

例えばUser.phpのように、DatabaseのEloquentORMを利用する際に、

User::truncate();

と書いたらIntelliJに認識されず、
「truncateメソッドなんてねーよ!!(Method 'truncate' not found)」と怒られます。

鬱陶しいので解決していきましょう。

解決策

簡単です。
User.phpのクラスコメントに以下を追加します。

@mixin \Illuminate\Database\Eloquent\Builder

全体で見るとこんな感じ

/**
 * Class User
 *
 * @mixin \Illuminate\Database\Eloquent\Builder
 * @package App
 */
 class User extends Authenticatable

もっというとIntelliJはフルパスをuseにしたがります。
こうなります。(Alt + Enterで自動でやってくれる)

(略)

use Illuminate\Database\Eloquent\Builder as BuilderAlias;

(略)

/**
 * Class User
 *
 * @mixin BuilderAlias
 * @package App
 */
class User extends Authenticatable

以上です。
意外と探すのに苦労しました