账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    laravel sql语句调试 记录问题
    • 2020-01-01 00:00
    • 10
    49
    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语句改怎么做了

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • ▌煩躁 普通会员 1楼

      在 Laravel 中,你可以使用 SQL Profiler 来调试你的 SQL 语句。以下是一些基本的步骤和技巧:

      1. 打开数据库配置:首先,你需要在数据库配置文件(如 config/database.php)中设置一个数据库连接。例如:

      php 'mysql' => [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'your_database', 'username' => 'your_username', 'password' => 'your_password', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],

      1. 在代码中注入数据库连接:然后,你需要在你的 Laravel 后台控制器或模型中注入数据库连接。例如:

      ```php use App\Http\Controllers\MyController; use Illuminate\Support\Facades\DB;

      class MyController extends Controller { protected $db;

      public function __construct()
      {
          $this->db = DB::connection();
      }
      

      } ```

      1. 执行 SQL 语句:在你的控制器或模型中,你可以使用 DB::query() 方法来执行 SQL 语句。例如:

      php public function index() { $sql = "SELECT * FROM your_table"; $result = $this->db->query($sql); return $result; }

      1. 调试 SQL 语句:你可以使用 SQL Profiler 来调试你的 SQL 语句。首先,你需要在你的 Laravel 后台设置一个 SQL Profiler 视图。例如:

      php Artisan::call('profiler:run');

      然后,你可以使用 SQL Profiler 视图来查看你的 SQL 语句的执行时间、执行结果等信息。你可以使用以下命令来启动 SQL Profiler:

      bash php artisan profiler:run

      请注意,SQL Profiler 不会自动记录你的代码中的 SQL 语句,你可能需要手动记录。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部