搜索

首页  >  问答  >  正文

Lithium:我们可以看到执行的查询如 CakePHP 中所示

您知道有什么方法可以像在 CakePHP 中一样显示在 Lithium 中执行的查询吗? 我可能会更容易找到执行的内容。 在页面底部显示执行的查询。

![截图]http://imgur.com/ffNfQ

收到答案后,我将代码添加到我的控制器中:

Volumes::applyFilter('find', function($self, $params, $chain) {
      echo '<pre>===== self ======<br>';
      var_dump($self);
      echo '===== params ======<br>';
      var_dump($params);
      echo '===== chain ======<br>';
      var_dump($chain);
      echo '</pre>';
      $next = $chain->next($self, $params, $chain);

      return $next;

});

它为我提供了有关 self 和 params 的所有 var_dump 的输出,但我需要执行的 SQL 查询。

请查看屏幕截图http://imgur.com/ffNfQ

P粉757640504P粉757640504246 天前462

全部回复(2)我来回复

  • P粉052724364

    P粉0527243642024-03-27 11:04:16

    正如 @Nils 所建议的,您可以利用 Lithium 过滤器并编写一个简单的查询记录器。
    在这里做了一个。它将 read 查询记录到 product 环境中的文件中。
    您应该能够对 createupdatedelete 操作进行自定义和添加过滤器以满足您的需求。

    如果您正在寻找开箱即用的解决方案,例如 Cake 的调试工具栏,请检查 li3_perf 项目: https://github.com/tmaiaroto/li3_perf

    回复
    0
  • P粉322918729

    P粉3229187292024-03-27 10:40:33

    根据 Nils 和 Mehdi 的所有建议,我创建了一个新插件,它仅显示查询结果,而不显示使用 MongoDB 在 Lithium 中执行的查询的 vardump 或 print_r()。

    现在我真的更容易找到它正在执行的内容。

    您可以在 Github 上查看该项目:

    https://github.com/nilamdoc/li3_show

    回复
    0
  • 取消回复