개발자의 끄적끄적

[php] 라라벨 프레임워크 쿼리 빌더 목록 / lalavel framework query builder 본문

개발/php

[php] 라라벨 프레임워크 쿼리 빌더 목록 / lalavel framework query builder

효벨 2025. 6. 26. 09:00
728x90
반응형

[php] 라라벨 프레임워크 쿼리 빌더 목록 / lalavel framework query builder

 

made by Gemini

 

 

안녕하세요!

 

다시 본업으로 돌아와서

 

요즘 프레임워크를 변경해서 작업을 시작하고 있는 중이라

 

하나하나 다시 배워가는 기분인데요!

 

그중에서 php 프레임워크인

 

lalavel 프레임워크의 쿼리 빌더 목록을 정리해보려고 합니다!

 

물론 원래 아는 대로 쿼리를 작성할 수도 있지만,

 

프레임워크에서 제공되는 기능들을 최대한 활용해야

 

성능을 끌어낼 수 있기때문에

 

잘 참고하시면 많은 도움이 되실듯 합니다!

 

 


 

 

📌 1. 기본 SELECT 쿼리

 

메서드 설명 예시
table() 사용할 테이블 지정 DB::table('users')
get() 전체 데이터 조회 DB::table('users')->get()
first() 첫 번째 레코드 반환 DB::table('users')->first()
find(id) 기본키 기준 조회 DB::table('users')->find(1)
select() 조회할 컬럼 지정 ->select('name', 'email')
distinct() 중복 제거 ->distinct()->get()
pluck() 하나의 컬럼만 배열로 반환 ->pluck('name')
value() 하나의 값만 반환 ->value('email')

 

 


 

 

📌 2. 조건절 (WHERE)

 

메서드 설명 예시
where() 기본 조건 ->where('age', '>', 20)
orWhere() OR 조건 ->orWhere('status', 'active')
whereBetween() 범위 조건 ->whereBetween('age', [20, 30])
whereNotBetween() 범위 외 조건 ->whereNotBetween('age', [20, 30])
whereIn() IN 조건 ->whereIn('id', [1, 2, 3])
whereNotIn() NOT IN 조건 ->whereNotIn('id', [1, 2, 3])
whereNull() NULL 조건 ->whereNull('deleted_at')
whereNotNull() NOT NULL 조건 ->whereNotNull('email_verified_at')
whereDate() 날짜 조건 ->whereDate('created_at', '2024-06-01')
whereColumn() 컬럼 비교 ->whereColumn('start', '>', 'end')

 

 


 

📌 3. 정렬 및 페이징

 

메서드 설명 예시
orderBy() 정렬 ->orderBy('name', 'asc')
latest() 최신순 (created_at 기준) ->latest()
oldest() 오래된 순 ->oldest()
inRandomOrder() 무작위 정렬 ->inRandomOrder()
skip() / take() offset / limit ->skip(10)->take(5)
paginate() 페이지네이션 ->paginate(10)
simplePaginate() 간단한 페이지네이션 ->simplePaginate(10)

 

 


 

 

📌 4. JOIN

 

메서드 설명 예시
join() INNER JOIN ->join('posts', 'users.id', '=', 'posts.user_id')
leftJoin() LEFT JOIN ->leftJoin('comments', 'users.id', '=', 'comments.user_id')
rightJoin() RIGHT JOIN ->rightJoin('payments', 'orders.id', '=', 'payments.order_id')
crossJoin() CROSS JOIN ->crossJoin('products')

 

 


 

📌 5. 집계 함수 (Aggregation)

 

메서드 설명 예시
count() 갯수 ->count()
max() 최대값 ->max('price')
min() 최소값 ->min('price')
avg() 평균값 ->avg('score')
sum() 합계 ->sum('amount')

 

 


 

📌 6. GROUP BY / HAVING

 

메서드 설명 예시
groupBy() 그룹화 ->groupBy('category')
having() 조건 추가 ->having('sum', '>', 1000)
havingRaw() RAW having ->havingRaw('COUNT(*) > 1')

 

 


 

📌 7. INSERT / UPDATE / DELETE

 

메서드 설명 예시
insert() 다중 레코드 삽입 DB::table('users')->insert([['name'=>'A'], ['name'=>'B']])
insertGetId() 삽입 후 ID 반환 ->insertGetId(['name'=>'Tom'])
update() 데이터 수정 ->where('id', 1)->update(['name'=>'Updated'])
increment() / decrement() 숫자 조정 ->increment('views')
delete() 삭제 ->where('id', 1)->delete()
truncate() 전체 비우기 ->truncate()

 

 


 

 

📌 8. RAW Expressions (직접 SQL 사용)

 

메서드 설명 예시
selectRaw() 직접 select ->selectRaw('count(*) as total')
whereRaw() 직접 where ->whereRaw('age > ?', [30])
orderByRaw() 직접 order by ->orderByRaw('RAND()')
havingRaw() 직접 having ->havingRaw('COUNT(*) > 2')

 

 


 

 

이렇게 자주 사용하는 쿼리 빌더들에 대해서 알아보았습니다!

 

다들 아시는 내용일 수도 있지만,

 

저는 다른 프레임워크를 사용하다가 변경하는거라 

 

너무 헤깔리더라구요!

 

그래도 차근차근 하나씩 적응해나가는 중입니다!

 

라라벨 프레임워크로 작업하시는 분들 도움이 되셨으면 좋겠습니다!

 

도움이 되셨다면, 구독/공감/댓글 부탁드립니다!

 

감사합니다!

 

반응형
Comments