Php Laravel局部范围智能感知
我在laravel()中使用局部作用域函数Php Laravel局部范围智能感知,php,laravel,intellisense,magic-methods,Php,Laravel,Intellisense,Magic Methods,我在laravel()中使用局部作用域函数 特别是我使用的是laravel_ide_helper 4.3.2和laravel 5.3(更新不是选项) 假设我有这样一个用户类: 类用户扩展模型{ //这里的其他东西,比如构造器。。。 公共静态函数($query) { 返回$query->Where('ispopular',true); } } 现在让我们假设我有一个控制器方法: 公共函数GetPopularOnes(){ 返回用户::popular()->get(); } 智能感知在这里起作用
特别是我使用的是laravel_ide_helper 4.3.2和laravel 5.3(更新不是选项) 假设我有这样一个用户类:
类用户扩展模型{
//这里的其他东西,比如构造器。。。
公共静态函数($query)
{
返回$query->Where('ispopular',true);
}
}
现在让我们假设我有一个控制器方法:
公共函数GetPopularOnes(){
返回用户::popular()->get();
}
智能感知在这里起作用
现在看一下这个:
公共函数getPopularOnEsmall(){
return User::select(['name','names'])->popular()->get();
}
在这个意义上,智能仍然有效
再看看这个:
公共函数GetPopularWomans(){
return User::query()->where('gender','f')->popular();
}
在这种智能感知中,不起作用,但我确信这是正确的(或者至少起作用)
因此,我的问题是:
- 这是否适用于更新版本的laravel/helper
- 是否有已知的解决方法
提前谢谢。Intelligence看到一个Builder实例由“where”返回,它不知道用户上定义的函数,这里的问题是Builder是每个有说服力的模型在构建查询时使用的类。如果Builder是一个泛型类,就像Builder,在本例中,T是user,那就太好了。在这种情况下,ide助手将有一个手柄来生成正确的停靠块。