如何使用Laravel Query Builder或Eloquent ORM在Laravel 3/4中检索原始执行的SQL查询?
例如,如下所示:
DB::table('users')->where_status(1)->get();
要么:
(posts (id, user_id, ...))
User::find(1)->posts->get();
否则,至少如何将所有执行的查询保存到laravel.log?
在Laravel 4和更高版本中,您必须调用DB::getQueryLog()
以获取所有已运行的查询。
$queries = DB::getQueryLog();
$last_query = end($queries);
或者,您可以下载探查器软件包。我建议使用barryvdh / laravel-
debugbar
,它非常简洁。您可以阅读有关如何在其存储库中进行安装的说明。
Laravel 5用户注意事项:DB::enableQueryLog()
在执行查询之前,您需要先致电。在运行查询的行的上方或在中间件内部。
在Laravel 3中,您可以从Eloquent
调用类last_query
上静态方法的模型中获取最后执行的查询DB
。
DB::last_query();
但是,这要求您在中启用该profiler
选项application/config/database.php
。或者,如@dualed所述,您可以启用profiler
in
application/config/application.php
或调用此选项,DB::profile()
以使所有查询在当前请求及其执行时间中运行。
如何使用Laravel query Builder或雄辩的ORM在Laravel 3/4中检索原始执行的SQL查询? 例如,如下所示:
问题内容: 我想知道使用PHP PDO执行什么查询。我有: 我想得到类似的东西: 可能吗?谢谢 问题答案:
问题内容: 在JUnit 3中,我可以这样获得当前正在运行的测试的名称: 它将显示“当前测试是testSomething”。 在JUnit 4中,有什么现成的或简单的方法可以做到这一点吗? 背景:显然,我不想只打印测试的名称。我要加载存储在与测试名称相同的资源中的特定于测试的数据。您知道,约定优于配置以及所有其他内容。 问题答案: JUnit 4.7似乎使用TestName-Rule添加了此功能。
问题内容: 我有一个带有库的IntelliJ项目:Hibernate-entitymanager 4.3.4和JPA 2.0-2.0。使用postgresql-9.3.1100.jdbc4连接到数据库。如何解决? jpa-ql>从ItemEntity中选择ItemEntity.name; 问题答案: 只需阅读文档: http://docs.oracle.com/javaee/7/api/javax
问题内容: 我正在使用内部联接从2个表中查询一些数据。 这是查询, 现在,我只想要每个user_id的第一行。 像这样, 我应该为此使用什么查询? 问题答案: 这应该可以解决问题:
问题内容: 我想知道如何检索由表适配器执行的SQL查询以进行记录。 例如: 输入: 输出: 我要记录的是insert语句,该语句由表适配器生成以执行insert命令。 我怎样才能做到这一点?有人对此有任何建议吗? 问题答案: 您可以使用此替代方法,并用其值替换ParameterName,但效果不好,因为您需要自己管理值格式,这可能很慢, 并且在执行Insert后需要获取参数。 代码: