ThinkPHP의 상관 쿼리와 관련하여 공식 문서에서는 다음과 같이 설명합니다.
위의 조인 함수에는 세 가지 매개 변수가 필요합니다.
join
( 완료) 연결할 테이블 이름과 별칭은 세 가지 쓰기 방법을 지원합니다:
写法1:[ '完整表名或者子查询'=>'别名' ] 写法2:'完整表名 别名' 写法3:'不带数据表前缀的表名'
로그인 후 복사
condition
关联条件,可以为字符串或数组, 为数组时每一个元素都是一个关联条件。
로그인 후 복사
type
关联类型,可以为: INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER。
로그인 후 복사
다른 접두사
일반적으로 데이터베이스에서 쿼리되며 이 경우 기본값이 사용됩니다. 모두 (shop_)과 같은 테이블 접두사가 동일하므로 데이터베이스 모델관련 쿼리를 사용할 때 다음과 같이 작성되는 경우가 많습니다.
Order::alias('o') ->join('user u', 'o.user_id = u.id') ->select();
로그인 후 복사
shop_order 및 shop_user이며 연결 유형은 기본적으로 INNER 연결로 설정됩니다.
그러나 테이블을다른 접두사(예: pay_record)와 연결하면 위의 쿼리 문이 작동하지 않습니다. 이 경우 연결 문을 약간 수정해야 합니다.
Order::alias('o') ->join(['pay_record' => 'r'], 'o.pay_id = r.id') ->select();
로그인 후 복사
ThinkPHP는 훌륭한 개발 프레임워크이며 위의 연관 방법은 그 중 하나일 뿐이며 더 많은 방법을 사용할 수 있습니다. 공식 매뉴얼을 확인하세요: ThinkPHP 공식 매뉴얼.