プロさんのおうち   ~プログラムのサンプル置き場~


DBクエリの確認


DBでのデータ検索時、更新時のクエリ確認方法を記載します。

DBクエリの確認

まず、DBでのデータ検索時のクエリの確認方法です。


// 検索系のログ確認
DB::enableQueryLog();
$sample = SampleTable::where('name', 'テスト555')->get();
var_dump(DB::getQueryLog());

----実際には↓のように出力されます。----
array(1) {
  [0]=>
  array(3) {
    ["query"]=>
    string(46) "select * from `sample_tables` where `name` = ?"
    ["bindings"]=>
    array(1) {
      [0]=>
      string(12) "テスト555"
    }
    ["time"]=>
    float(4.73)
  }
}
				

実際に検索する前に、「DB::enableQueryLog」を実行後、検索後に「DB::getQueryLog」を実行することによって、検索時のクエリが確認できます。

次に、更新時のクエリ確認です。


// 更新系のログ確認
$sqls = DB::pretend(function() {
    SampleTable::where('name', 'テスト555')->update(['address' => 'Testing address']);
});
var_dump($sqls);

----実際には↓のように出力されます。----
array(1) {
  [0]=>
  array(3) {
    ["query"]=>
    string(57) "update `sample_tables` set `address` = ? where `name` = ?"
    ["bindings"]=>
    array(2) {
      [0]=>
      string(15) "Testing address"
      [1]=>
      string(12) "テスト555"
    }
    ["time"]=>
    float(0)
  }
}
				

「DB::pretend」の戻り値を確認することによって、更新時のクエリが確認できます。



メニューに戻る


CopyRight 2019 株式会社PUreatio