Laravel Query Builder Eloquent的where, findOrFail, firstByAttributes等在Phpstorm不提示得解决办法

先看一张图

我们按照官方文档配好了环境,用起了最时尚的Laravel,在访问数据库的时候,我们用到的牛逼的Eloquent,如果你用的是phpstorm,你发现不能自动提示其中的方法,下面祝你一臂之力!

laravel-ide-helper

网上大把的搜到这货可以达到自动提示的效果,但是没那么容易成功,详细步骤如下:

1. 在项目的composer.json中添加如下一行

2. 随手执行

3. 添加service provider,打开项目config/app.php 于providers添加如下一行:

4. 随手执行

5. 修改composer.json,添加一行

一般这样人家就告诉你可以自动提示了,其实并没有,继续往下看。。。

6. 运行代码

提示后直接回车或者输入no。

完成上面的步骤之后你会发现在根目录多了两个文件

_ide_helper_models.php 和 _ide_helper.php

看一下代码你会发现_ide_helper_models.php里已经封装了刚才我们没提示的代码,下一把我们把model改为继承此类即可,代码如下:

好了,很清澈,你值得拥有

 

顺便转个无关的

ORM的where太弱之问题

laravel的ORM使用的是Eloquent ORM。如果你要获取出Student表中female=1 并且 teacher_id为4 并且class_id为3的所有学生,你需要这么写:

解决办法:在基类中扩展一个multiwhere

 

 

还有很多关于PHPstorm支持larval的,看https://confluence.jetbrains.com/display/PhpStorm/Laravel+Development+using+PhpStorm#LaravelDevelopmentusingPhpStorm-2.InstalltheLaravelIDEHelper

你可能感兴趣的:(php程序设计)