>  기사  >  백엔드 개발  >  thinkphp의 다중 테이블 관련 쿼리에 대한 자세한 설명

thinkphp의 다중 테이블 관련 쿼리에 대한 자세한 설명

小云云
小云云원래의
2018-01-06 16:01:031958검색

이 글은 thinkphp의 다중 테이블 관련 쿼리에 대한 자세한 예제를 주로 소개합니다. 이 글이 이 부분을 이해하고 익히는 데 도움이 되기를 바랍니다. 필요한 친구들이 모두 참고할 수 있기를 바랍니다. .

thinkphp의 다중 테이블 관련 쿼리 예제에 대한 자세한 설명

백엔드 관리 시스템을 프로그래밍할 때 일반적으로 프레임워크는 페이지를 빠르게 구축하는 데 사용됩니다. 최근에 제가 사용하는 thinkphp 프레임워크는 실제로 thinkphp 프레임워크입니다. 프론트엔드와 백엔드 관리를 분리합니다. 프론트엔드 사용자 로그인 쿼리 시스템은 thinkphp의 home 폴더에서 관리되고, 백엔드 관리 시스템은 thinkphp의 admin 폴더에서 관리됩니다. 그런데 thinkphp 프레임워크를 사용하려면 MVC 아키텍처를 사용해야 합니다. MVC 아키텍처는 모델(데이터 모델), 뷰(뷰), 컨트롤러(컨트롤러)의 구조입니다. 여기서 인터페이스는 뷰에 의해 제어됩니다. . 제어 컨트롤러의 기능은 뷰와 컨트롤러를 관리하는 것입니다. 자세한 구조는 thinkphp 문서를 참조하세요.

오늘 제가 이야기할 내용은 백엔드 관리 시스템에서 접하게 되는 데이터베이스 테이블에 대한 상관 쿼리를 적용하는 것입니다.

가장 먼저 이야기하고 싶은 것은 thinkphp의 쿼리문 적용입니다. 물론 이는 단순한 데이터 테이블 쿼리가 아니라 여러 테이블 간의 상관 쿼리 방식이 있습니다. 메소드 조인 및 테이블 메소드.

1. 먼저 여러 테이블 간에 관련 쿼리를 수행하는 테이블 메서드가 도입되었습니다.

첫 번째 M은 데이터베이스에서 데이터 테이블을 선택하는 것입니다. 연결할 테이블, 조건부 연결을 수행하는 경우 필드의 기능은 실제로 원하거나 유용한 정보를 출력할 수 있는 필터링 기능이므로 테이블을 상호 연결한 후의 결과는 원하는 데이터 구조입니다.


public function orderList(){
   $User=M("t_order");
   /*两个表的关联查询得到等级值*/
   $userinfo = $User->table('t_order,t_commodity,t_user')->where('t_order.cname = t_commodity.cname and t_order.uname = t_user.uname ')->field('t_order_id,t_order.orderid,t_order.cname')->select();
   $this->assign("userInfo",$userinfo);
   $this->display("order-list");
}

2. 조인 방법은 여러 테이블 간의 상관 쿼리를 수행합니다.

여기서 테이블 상관 관계의 차이점은 조인이 테이블을 상호 연관시키는 데 사용된다는 점이며 나머지는 실제로 동일합니다. 연관 조건, 필드는 필터링된 정보입니다(다음 단계에 유용한 정보)


public function getBanner(){
 $bannerid=1;
 $banner=M("banner_item");
 $result=$banner->join('image ON banner_item.img_id = image.id')->where("banner_item.banner_id=".$bannerid)->field("key_word,type,banner_id,url,from")->select();
 echo json_encode($result);
}

관련 추천:

YII2 다중 테이블 연관 사용에 대한 자세한 설명

join 및 Joinwith in Yii2 다중 테이블 관련 쿼리 사용 방법

thinkphp에서 다중 테이블 관련 쿼리를 구현하는 코드 예시

위 내용은 thinkphp의 다중 테이블 관련 쿼리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.