laravel访问数据库次数
在关系访问的时候,会有这样的读取方式:
这里使用了一次find,然后再调用hasone,是不是就调用了两次数据库了,因为两个操作都是collection的。
那么这种方法和
这样是一样的咯?
还有。请教一下如何测得一个方法一共访问了mysql几次,如何提高访问数据库的效率?同时又如何获得访问数据库时sql语句呢?谢谢!
$phone = User::find(1)->phone;
这里使用了一次find,然后再调用hasone,是不是就调用了两次数据库了,因为两个操作都是collection的。
那么这种方法和
$user = User::find(1);
$phone = Phone::where('user_id', $user->id);
这样是一样的咯?
还有。请教一下如何测得一个方法一共访问了mysql几次,如何提高访问数据库的效率?同时又如何获得访问数据库时sql语句呢?谢谢!
2 个回复
xlimit
赞同来自: FiveSay
2.DB::getQueryLog();看查询日志,还有Illuminate\Database\Query\Builder类里有个toSql()方法(Model对象也可以用toSql()方法)。这两个方法都可以看sql。
zhuzhichao
赞同来自: FiveSay
1. https://github.com/barryvdh/laravel-debugbar
2. https://github.com/itsgoingd/clockwork
我用的是第二种,因为第一种是在页面后面加JS代码的,第二种是借助chrome插件异步获取程序信息JSON的。