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

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

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

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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

有提示是因为你没有定义$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年前 评论

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