LaravelでConnection別でSQLを実行する方法メモ

このページでは以前Laravel環境でOracleDBを使用した開発案件で学んだ、SQL文の実行方法(Connection名を指定した)についてまとめてます。

環境はLaravelなので、サンプルコードはPHPになります。

またDB接続に必要な設定は済んでいることが前提となります。

目次

database.phpの中身(サンプル)

〜
        'oracle' => [
            'driver' => 'oracle',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '192.168.0.5'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', 'forge'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => false,
            'engine' => null,
            ]) : [],
        ],
〜

SELECTの場合

$sql = "SELECT * FROM TABLE_NAME where ID = '100' ";
$rows = \DB::connection('oracle')->select($sql);

INSERTの場合

$sql = "INSERT INTO TABLE_NAME (NAME,EMAIL)values('東京太郎','user@test.local')";
$res = \DB::connection('oracle')->insert($sql);

UPDATEの場合

$sql = "update TABLE_NAME SET NAME = "大阪次郎" WHERE ID = 100";
$res = \DB::connection('oracle')->update($sql);

DELETEの場合

$res = DB::connection('oracle')->table('TABLE_NAME')->where('id','100')->delete();

SQL実行後のチェック方法

SQL実行結果のチェック方法をselect文、delete文を例に記載します。

$sql = "SELECT * FROM TABLE_NAME where ID = '100' ";
$rows = \DB::connection('oracle')->select($sql);
if(count($rows) === 0){
  return "データは0件でした"; 
}else{
  return "データは".count($rows)."件でした"; 
}

$res = DB::connection('oracle')->table('TABLE_NAME')->where('id','100')->delete();
if($res === 1){
  return $id."を削除しました";            
}else{
  return "削除できませんでした";
}
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

関連広告

コメント

コメントする

目次