Laravel Query Builder Eloquent的where, findOrFail, firstByAttributes等在Phpstorm不提示得解决办法
2016-01-04 16:22
761 查看
先看一张图
我们按照官方文档配好了环境,用起了最时尚的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改为继承此类即可,代码如下:
好了,很清澈,你值得拥有
顺便转个无关的
还有很多关于PHPstorm支持larval的,看https://confluence.jetbrains.com/display/PhpStorm/Laravel+Development+using+PhpStorm#LaravelDevelopmentusingPhpStorm-2.InstalltheLaravelIDEHelper
我们按照官方文档配好了环境,用起了最时尚的Laravel,在访问数据库的时候,我们用到的牛逼的Eloquent,如果你用的是phpstorm,你发现不能自动提示其中的方法,下面祝你一臂之力!
laravel-ide-helper
网上大把的搜到这货可以达到自动提示的效果,但是没那么容易成功,详细步骤如下:
1. 在项目的composer.json中添加如下一行
12345 | "require": { "barryvdh/laravel-ide-helper": ">=2.1.0", } |
1 2 3 | composer install composer update |
1 | 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', |
1 | php artisan ide-helper:generate |
123456789 | "post-update-cmd": [ "php artisan clear-compiled", "php artisan optimize", "php artisan ide-helper:generate" ] |
1 | php artisan ide-helper:models |
完成上面的步骤之后你会发现在根目录多了两个文件
_ide_helper_models.php 和 _ide_helper.php
看一下代码你会发现_ide_helper_models.php里已经封装了刚才我们没提示的代码,下一把我们把model改为继承此类即可,代码如下:
1 | class User extends \Eloquent |
顺便转个无关的
ORM的where太弱之问题
laravel的ORM使用的是Eloquent ORM。如果你要获取出Student表中female=1 并且 teacher_id为4 并且class_id为3的所有学生,你需要这么写:1 2 3 4 | Student::where('female', 1) ->where('teacher_id', 4) ->where('class_id', 3) ->get(); |
解决办法:在基类中扩展一个multiwhere
123456789101112 | // 多wherepublic function scopeMultiwhere($query, $arr){ if (!is_array($arr)) { return $query; } foreach ($arr as $key => $value) { $query = $query->where($key, $value); } return $query;} |
1 | Student::multiwhere([‘female’=>1, ’teacher_id’ => 4, ‘class_id’ => 3])->get(); |
还有很多关于PHPstorm支持larval的,看https://confluence.jetbrains.com/display/PhpStorm/Laravel+Development+using+PhpStorm#LaravelDevelopmentusingPhpStorm-2.InstalltheLaravelIDEHelper
相关文章推荐
- PHPUnit 在phpstrom中composer项目的应用配置
- Laravel5.1教程 前言
- php遍历指定路径下的所有文件和文件夹
- 大家须知简单的php性能优化注意点
- How can I capture the audio output with GStreamer?
- Mobile Detect:移动设备(手机和平板)检测的 PHP 类库
- PHP中读取文件的几个方法
- PHP采集利器snoopy应用详解
- PHP读取文本文件(TXT)
- PHP培训领航者兄弟连IT教育推出兄弟会教育模式
- 读取、设置 php.ini配置文件(复制)
- thinkphp 前台自定义标签中如何应对传递过来的ID?
- php json syntax_error语法错误的一个坑
- <php+mysql>上传文件到指定文件夹,共享数据和脚本,文件验证,脚本之间的通信
- php 获得浏览网页的用户的真实IP
- PHPCMS模版引擎兼容PHP7.0
- 简单的php性能注意点
- win7下php5.5安装solr扩展
- PHP拒绝服务攻击
- PHP 5.3以下版本 无法用下标直接取得函数返回的数组