默認情況下,toSql 獲取到的 sql 裡面的參數使用 "?" 代替的,如下:
DB::table('user')->where('id', 1)->toSql();
獲取到的 sql 語句是:
select * from `tb_user` where `id` = ?
有時候我們想要得到具體的語句,可以利用 builder 的 getBindings 方法:
$builder = DB::table('user')->where('id', 1);
$bindings = $builder->getBindings();
$sql = str_replace('?', '%s', $builder->toSql());
$sql = sprintf($sql, ...$bindings);
dd($sql);
獲取到的 sql 語句是:
select * from `tb_user` where `id` = 1
如果經常使用可以考慮使用 Builder 的 macro 方法加進 Builder 裡面:
\Illuminate\Database\Query\Builder::macro('sql', function () {
$bindings = $this->getBindings();
$sql = str_replace('?', '%s', $this->toSql());
return sprintf($sql, ...$bindings);
});
dd(DB::table('user')->where('id', 1)->sql());
參考https://www.reddit.com/r/Nix/comments/11ynxa5/every_macos_update_needs_me_to_rerun_the_nix/?rdt=55449
Mar 13, 2025本文主要分享,我如何採用Docker的方式進行Let's Encrypt憑證申請,Let's Encrypt有相當多種類的ACME Client,我將使用官方推廌Certbot(ACME Client)做說明。並且使用docker的方式來執行ACME Client。這樣做對筆者來說,有兩個好處:
May 8, 2024sudo yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo yum install -y mysql-community-client As of 2022, you are required to import the latest GPG key using: sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 Install MySQL 8.0 client on Amazon Linux 2 sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo yum install -y mysql-community-client Install MySQL 5.7 Server on Amazon Linux 2 sudo yum update -y
Feb 15, 2023登入SSH,並執行下面程序 #檢查備份設定 sudo -i cat /usr/syno/etc/synobackup.conf #查看錯誤原因 cd /volume1/@img_bkp_cache/google_drive_* cd *.hbk cat Guard/detect/error.log
Nov 9, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up