실용적인 데이터베이스를 조작할 수 있게 해준다.

쿼리빌더는 DB::table('posts')와 같이 무조건 table(string $table)메서드로 시작한다.

쿼리문장 끝은 get(), first(), find(), pluck(), insert(), delete(), update() 와 같은 메서드를 사용한다.

 

데이터조회 get()

조회

DB::table('posts')->get();

결과

=> Illuminate\Support\Collection {#699
     all: [
       {#700
         +"id": 1,
         +"title": "Hello Database",
         +"body": "Greetings from tinker",
       },
       {#702
         +"id": 2,
         +"title": "Ola Database",
         +"body": "Saludos de tinker",
       },
     ],
   }

조회

 DB::table('posts')->first();

결과

=> {#705
     +"id": 1,
     +"title": "Hello Database",
     +"body": "Greetings from tinker",
   }

조회

 DB::table('posts')->find(2);

결과

=> {#689
     +"id": 2,
     +"title": "Ola Database",
     +"body": "Saludos de tinker",
   }

조건절

DB::table('posts')->where('id', '=', 1)->get();
DB::table('posts')->where('id',1)->get();
DB::table('posts')->whereId(1)->get();
DB::table('posts')->where(function ($query) {$query->where('id',1);})->get();

결과

=> Illuminate\Support\Collection {#703
     all: [
       {#716
         +"id": 1,
         +"title": "Hello Database",
         +"body": "Greetings from tinker",
       },
     ],
   }
>>>

다른메서드

새 레코드 삽입 : insert(array $values)

DB::table('posts')->insert(array('title'=>'test2','body'=>'test content'));
DB::table('posts')->insert(array(
array('title'=>'test3', 'body'=>'test content'),
array('title'=>'test4', 'body'=>'test content'),
));

데이터 변경 : update(array $values)

DB::table('posts')->where('id',5)->update(array('title'=>'test5'));

레코드 삭제 : delect(int $id)

DB::table('posts')->where('id',5)->delete();
DB::table('posts')->where('id','>',4)->delete(); //id가 4보다 큰 수 삭제한다.
DB::table('posts')->truncate(); //테이블 모두 삭제한다.

컬렉션조회 : pluck(string $column, string $key = null) (컬럼한 종류만 모두 가져온다.) 

변수에 담아서 사용할 수 있다.

$title = DB::table('posts')->pluck('titile');

DB::table('posts')->pluck('title');

한번에 조회할 레코드 개수 : limit(int $value)

 

조회결과 정렬 'asc', 'desc' : orderBy(string $column, string $direction = 'asc')

DB::table('posts')->orderBy('id','desc')->get();   //내림차순

카운트처리

 DB::table('posts')->count();

최대값

 DB::table('posts')->max('id');

최소값

DB::table('posts')->min('id');

평균값

DB::table('posts')->avg('id');

 


https://laravel.kr/docs/5.4/queries

 

라라벨 5.4 - 쿼리 빌더

라라벨 한글 메뉴얼 5.4 - 쿼리 빌더

laravel.kr

 

'라라벨' 카테고리의 다른 글

데이터베이스 마이그레이션  (0) 2019.04.02
엘로퀀트ORM  (0) 2019.04.01
데이터베이스 모델(REPL)  (0) 2019.03.31
APP_KEY 새로 만들어주기  (0) 2019.03.28
dotenv파일 config/database.php 파일 관계  (0) 2019.03.28

+ Recent posts