为什么模型不能使用::find 之类的方法?

但我调用继承自 Eloquent\Model 的 User 类
User::find($id) 不能用

然后我执行了php artisan ide-helper:models
这个 所有的才可以使用 是为什么呀

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

你是说IDE定位不到方法?可以试试User::query()->find(1);

2年前 评论
勇敢的心 (作者) 2年前
tiantian10000 (楼主) 2年前
tiantian10000 (楼主) 2年前
tiantian10000 (楼主) 2年前
讨论数量: 9

User::find(1) 是通过 调用 User::__callStatic('find', 1) 来实现的,,,IDE 当然不知道。

使用 php artisan ide-helper:models 之后,会在模型的注释中,加入大概 @method static find($id); 这样的注释,所以现在 IDE 知道了,,,

2年前 评论

User::find(1) 是通过 调用 User::__callStatic('find', 1) 来实现的,,,IDE 当然不知道。

使用 php artisan ide-helper:models 之后,会在模型的注释中,加入大概 @method static find($id); 这样的注释,所以现在 IDE 知道了,,,

2年前 评论

你是说IDE定位不到方法?可以试试User::query()->find(1);

2年前 评论
勇敢的心 (作者) 2年前
tiantian10000 (楼主) 2年前
tiantian10000 (楼主) 2年前
tiantian10000 (楼主) 2年前

文档上写的方法都能用,不提示不代表不能用,这就是编辑器和记事本的区别 :see_no_evil:

2年前 评论
Complicated

php是弱类型的,不提示很正常,你运行起来不报错就行,ide不提示也没关系

2年前 评论

你不用执行那个命令 直接用User::query()->find();就可以

去看看源代码 ,Laravel 的模型可以通过 query 方法获取一个 Builder实例

获取到实例之后,下面的各种方法自然就有了提示。。

对开发帮助大,性能微微微提升,浪费硬盘空间几字节

2年前 评论

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