如何使用Laravel query Builder或雄辩的ORM在Laravel 3/4中检索原始执行的SQL查询?
例如,如下所示:
DB::table('users')->where_status(1)->get();
(posts (id, user_id, ...))
User::find(1)->posts->get();
在Laravel4及更高版本中,必须调用db::getQueryLog()
来获取所有已运行的查询。
$queries = DB::getQueryLog();
$last_query = end($queries);
也可以下载探查器包。我推荐barryvdh/laravel-debugbar,它非常整洁。您可以阅读有关如何在其存储库中安装的说明。
Laravel5用户注意:在执行查询之前,您需要调用db::enableQueryLog()
。要么就在运行查询的行上方,要么就在中间件内部。
DB::last_query();
但是,这需要在application/config/database.php
中启用profiler
选项。或者,正如@dualed所提到的,您可以在application/config/application.php
或调用db::profile()
中启用profiler
选项,以获取当前请求中运行的所有查询及其执行时间。
问题内容: 如何使用Laravel Query Builder或Eloquent ORM在Laravel 3/4中检索原始执行的SQL查询? 例如,如下所示: 要么: 否则,至少如何将所有执行的查询保存到laravel.log? 问题答案: 在Laravel 4和更高版本中,您必须调用以获取所有已运行的查询。 或者,您可以下载探查器软件包。我建议使用barryvdh / laravel- debu
问题内容: 我想知道使用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后需要获取参数。 代码: