실용적인 데이터베이스를 조작할 수 있게 해준다.
쿼리빌더는 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
'라라벨' 카테고리의 다른 글
데이터베이스 마이그레이션 (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 |