我正在使用VSCode学习Laravel。当我编写“Model::“或“Model::query()->”方法时,我遇到了一个问题,比如“count”和“insert”不在代码完成中。我安装的相关VSCode扩展:
- 因特莱芬斯
- amir9480/vscode-laravel-extra-intellisense
// $result = Category::query()->insert($categories);
$result = Category::insert($categories);
$this->assertTrue($result);
// $total = Category::query()->count();
$total = Category::count();
$this->assertEquals(10, $total);
我已经安装了“barryvdh/laravel-ide-helper”,但它只生成“whereColumn()”方法。
/**
* App\Models\Category
*
* @property int $id
* @property string $name
* @property string $description
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|Category newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Category newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Category query()
* @method static \Illuminate\Database\Eloquent\Builder|Category whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Category whereDescription($value)
* @method static \Illuminate\Database\Eloquent\Builder|Category whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Category whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|Category whereUpdatedAt($value)
* @mixin \Eloquent
*/
class Category extends Model
{
...
}
看起来我可以在模型上使用“Illuminate\Database\Query\Builder”中的方法。所以我想在写“Model::“或者“Model::query()->”的时候我得到了类的代码完成方法
1条答案
按热度按时间bq3bfh9z1#
不存在
\Eloquent
类。您希望包含在@mixin
指令中的是Illuminate\Database\Eloquent\Builder
。我使用PhpStorm,但效果应该是相同的,在任何一个程序。我的类头和文档块看起来像这样:
您还应该为每个关系方法包含一个
@property-read
指令(我在这里包含了几个示例),如果您正在使用工厂,还应该为工厂包含一个@method
指令。