laravel sql语句调试 记录问题

发布于 2022-09-11 18:54:06 字数 456 浏览 23 评论 0

请问一个关于laravel 调试的问题. 在文章被回复时,对该文章的回复数进行计算,并赋值给文章表的reply_count字段,代码如下


class ReplyObserver
{
    public function creating(Reply $reply)
    {

    }

    public function created(Reply $reply)
    {
        //调试技巧,如何查看sql语句的问题
        $reply->topic->reply_count=$reply->topic->reply->count();
        $reply->topic->save();

    }

语句没有报错,也没有执行成功,我怎么才能查到这段语句真正执行了什么sql语句,该怎么处理了,如只想知道改段代码的sql语句改怎么做了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子的影子 2022-09-18 18:54:06

Laravel 打印 SQL 语句方法

先介绍下面 3 个方法:

// 开启 SQL 语句记录
\DB::enableQueryLog();
// 获取 SQL 语句记录
\DB::getQueryLog();
// 关闭 SQL 语句记录
\DB::disableQueryLog();

在要获取 SQL 记录的代码前先开启 SQL 语句记录,在代码后打印获取的 SQL 语句记录,然后关闭 SQL 语句记录就行了。

举个栗子:

\DB::enableQueryLog();
$reply->topic->reply_count=$reply->topic->reply->count();
$reply->topic->save();
dd(\DB::getQueryLog());
// 下面代码可以省略,上一行已经强制退出程序
// \DB::disableQueryLog();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文