
Table::select를 사용하여 데이터베이스에서 데이터를 조회할 때 어려움을 겪고 계신다면, 조인과 조건 설정에 대한 이해가 필요합니다.
조인할 때 사용하는 키
조인할 때 사용하는 키는 두 테이블 간의 관계를 정의하는 열입니다. 예를 들어, 두 테이블 A와 B를 조인할 때, A 테이블의 id를 B 테이블의 foreign_key와 매칭시키려면, A 테이블의 id 열과 B 테이블의 foreign_key 열을 조인 키로 설정해야 합니다.
조건 설정
조건을 설정하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 where() 메서드를 사용하는 것입니다. 예를 들어, A 테이블의 id가 1인 데이터만 조회하려면, where('id', 1) 메서드를 사용할 수 있습니다.
여러 테이블을 조인할 때 데이터의 중복 피하기
여러 테이블을 조인할 때, 데이터의 중복을 피하기 위해서는 group_by() 메서드를 사용할 수 있습니다. 예를 들어, A 테이블과 B 테이블을 조인했을 때, A 테이블의 id와 B 테이블의 name 열을 group_by() 메서드로 설정하면, 중복된 데이터를 피할 수 있습니다.
예제
아래는 예제입니다.
#hostingforum.kr
php
$tableA = Table::select('id', 'name')
->from('A')
->join('B', 'A.id', '=', 'B.foreign_key')
->where('A.id', 1)
->group_by('A.id', 'B.name')
->get();
$tableB = Table::select('id', 'name')
->from('B')
->join('A', 'B.foreign_key', '=', 'A.id')
->where('B.name', 'John')
->group_by('B.id', 'A.name')
->get();
이 예제에서는 A 테이블과 B 테이블을 조인하고, A 테이블의 id가 1인 데이터만 조회합니다. 또한, group_by() 메서드를 사용하여 중복된 데이터를 피합니다.
2025-06-22 04:28