[Laravel] Query Builder



Laravel에서 DB 접근 방법

기본

select

DB::select('select * from table where column1 = ?', [1]);

insert

DB::select('select * from table where column1 = :id', ['id' => 1]);

update

DB::update('update table set column1 = 100 where column2 = ?', ['John']);

delete

DB::delete('delete from table');

transaction

// # 기본
try {
 DB::transaction(function() use() {
  // query작성
})
}catch(Exception $e) {

}

트랜잭션의 클로져에서는 클로져밖의 변수를 사용할 수 없다. 사용하기 위해서는 use 를 사용해야함.

// # Example
try {
 $name = "hello"
 DB::transaction(function() use($name) {
  DB::select("select * from users where name=?", [$name])
})
}catch(Exception $e) {

}

쿼리 빌더 란?

PDO 파라미터 바인딩을 사용하여 SQL Injection 공격을 방지하기 위해 사용하며, sql을 간단하게 작성할 수 있다.


참고 문서