关于 Laravel 中查询构造时 $query 的使用,请指正一下问题

开发环境:Nginx+PHP7.2+phpstorm2019
问题描述:列表的查询是多个条件来构造where的,我在社区看到了这种写法,在编辑器中where总是会有一个下滑的红色波浪线,而且没有提示,如图:

关于laravel中查询构造时$query的使用

我看了一下文档,在构造的方法里面写为下图所示,不知道正确与否。本人之前用的是TP5.1,不太清楚Laravel的写法

关于laravel中查询构造时$query的使用

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

有提示是因为你没有定义$query的类型,只是有这么一个变量,一个变量调用where方法,所以会有提示。你也可以写为:

public static function getWhere(array $param){
        return function (Builder $query) use ($param) {
            if ($param['id']) {
                $query->where('id', $param['id']);
            }
        };
}
4年前 评论
讨论数量: 2

有提示是因为你没有定义$query的类型,只是有这么一个变量,一个变量调用where方法,所以会有提示。你也可以写为:

public static function getWhere(array $param){
        return function (Builder $query) use ($param) {
            if ($param['id']) {
                $query->where('id', $param['id']);
            }
        };
}
4年前 评论

@lyz199711 那就和TP里面我的写法一样了,感谢

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!