首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取在Laravel 3/4中执行的查询

获取在Laravel 3/4中执行的查询
EN

Stack Overflow用户
提问于 2013-01-26 18:44:09
回答 12查看 174.8K关注 0票数 186

如何使用Laravel query Builder或Eloquent ORM检索Laravel 3/4中的原始执行SQL查询?

例如,如下所示:

代码语言:javascript
运行
复制
DB::table('users')->where_status(1)->get();

或者:

代码语言:javascript
运行
复制
(posts (id, user_id, ...))

User::find(1)->posts->get();

否则,至少我如何将执行的所有查询保存到laravel.log?

EN

回答 12

Stack Overflow用户

发布于 2014-07-25 12:32:21

对于Eloquent,你可以这样做:

代码语言:javascript
运行
复制
$result->getQuery()->toSql();

但是您需要从查询中删除"->get()“部分。

票数 26
EN

Stack Overflow用户

发布于 2013-03-19 00:18:45

对于Laraver 4来说

代码语言:javascript
运行
复制
DB::getQueryLog()
票数 14
EN

Stack Overflow用户

发布于 2013-09-30 10:09:30

这是一个快速的Javascript代码片段,您可以将其添加到母版页模板中。只要包含它,所有查询都将输出到浏览器的Javascript控制台。它将它们打印在一个易于阅读的列表中,使浏览您的站点和查看每个页面上执行的查询变得简单。

完成调试后,只需将其从模板中删除即可。

代码语言:javascript
运行
复制
<script type="text/javascript">
    var queries = {{ json_encode(DB::getQueryLog()) }};
    console.log('/****************************** Database Queries ******************************/');
    console.log(' ');
    queries.forEach(function(query) {
        console.log('   ' + query.time + ' | ' + query.query + ' | ' + query.bindings[0]);
    });
    console.log(' ');
    console.log('/****************************** End Queries ***********************************/');
</script>
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14536165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档