ThinkPHP 쿼리문 및 관련 쿼리 사용법

不言
풀어 주다: 2023-03-30 17:08:02
원래의
1463명이 탐색했습니다.

이 글에서는 주로 ThinkPHP 질의문과 관련 질의의 사용법과 일반적인 질의 방법을 질의 조건으로 배열, 질의를 위한 객체 메소드 등의 기술을 포함하여 예시 형태로 소개하고 있습니다. 예제 쿼리문과 관련 쿼리 사용법을 통해 ThinkPHP를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

thinkphp 프레임워크 페이지에서는 SQL 쿼리 문을 직접 작성하여 데이터베이스 쿼리 읽기 및 쓰기 작업을 구현할 수 있습니다. 다음은 이를 설명하는 예입니다.

일반 쿼리에 대한 문자열 쿼리 조건 외에도 배열 및 객체 쿼리 조건이 매우 일반적으로 사용되며 이는 기본 쿼리에 필요합니다.

1. 쿼리 조건으로 배열 사용

$User = M("User"); //实例化User对象
$condition['name'] = 'thinkphp'; // 把查询条件传入查询方法
$User->where($condition)->select();
로그인 후 복사

2. 쿼리에는 어떤 개체든 사용할 수 있습니다. 여기서는 stdClass 내장 개체를 예로 들어보겠습니다.

$User = M("User"); // 实例化User对象
// 定义查询条件 $condition = new stdClass();
$condition->name = 'thinkphp';  // 查询name的值为thinkphp的记录
$User->where($condition)->select(); //  上面的查询条件等同于 where('name="thinkphp"') 使用对象方式查询和使用数组查询的效果是相同的,并且是可
带where条件的普通查询
로그인 후 복사

2. form

$user=M('user');
$list=$user->where(&#39;id>5 and id<9&#39;)->select();
$list=$user->where($data)->select();
로그인 후 복사

3. 객체 형태

$user=M(&#39;user&#39;);
$list=$user->where(array(&#39;username&#39;=>&#39;www.jb51.net&#39;))->select();
$list=$user->where($data)->select();
로그인 후 복사

두 테이블의 관련 쿼리:

$user=M(&#39;user&#39;);
$a=new stdClass();
$a->username=&#39;www.jb51.net;
$list=$user->where($a)->select();
로그인 후 복사

간격 쿼리

$M_shopping = M(&#39;Shops&#39;); 
$M_product = M(&#39;Product&#39;); 
$list_shops = $M_shopping->join(&#39;as shops left join hr_product as product on shops.product_id = product.p_id&#39;) 
->field(&#39;product.p_id,product.p_name,shops.product_amount,shops.product_id&#39;) 
->where("shops.user_cookie=&#39;".$_COOKIE[&#39;hr_think_userid&#39;]."&#39;") 
->group(&#39;shops.id&#39;) 
->select();
로그인 후 복사

결합 쿼리

$user=M(&#39;user&#39;);
$data[&#39;id&#39;]=array(array(&#39;gt&#39;,20),array(&#39;lt&#39;,23),&#39;and&#39;);
$list=$user->where($data)->select();
로그인 후 복사

복합 쿼리

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;pengyanjie&#39;;
$data[&#39;password&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;id&#39;]=array(&#39;lt&#39;,30);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$list=$user->where($data)->select();
dump($list);
로그인 후 복사

세 개의 데이터 테이블 관련 쿼리

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;password&#39;]=array(&#39;like&#39;,&#39;p%&#39;);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$where[&#39;_complex&#39;]=$where;
$where[&#39;id&#39;]=array(&#39;lt&#39;,30);
$list=$user->where($data)->select();
로그인 후 복사

데이터 테이블의 쿼리 조건

① 다음은 쿼리 조건을 where에 넣어주면 조건 작성이 쉬워진다

$M_shopping = M(&#39;Shops&#39;);
$M_product = M(&#39;Product&#39;);
$M_proimg = M(&#39;Product_image&#39;);
$list_shops = $M_shopping->join(&#39;as shops left join hr_product as product on shops.product_id = product.p_id left join
hr_product_image as productimgon productimg.p_id = product.p_id&#39;)->fiel(&#39;productimg.pi_url,product.p_id,product.p_name,shops.product_amount,shops.product_id,product.am_id,
product.p_procolor,product.p_price,product_amount*p_price as totalone&#39;)->where("shops.user_cookie=&#39;".$_COOKIE[&#39;hr_think_userid&#39;]."&#39;")
->group(&#39;shops.id&#39;)->select();
로그인 후 복사

② 위의 방법 외에 배열 방법도 있습니다

$m_test = M("Product");
$productmeaage = $m_test->where("p_id=&#39;$proid&#39;")->select();
로그인 후 복사

위 내용이 이 글의 전체 내용입니다. , 모두의 학습에 도움이 되기를 바랍니다. 도움말, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트에 주목하세요!

관련 추천:

ThinkPHP의 연관 모델

ThinkPHP에서 일반적으로 사용되는 쿼리 언어


위 내용은 ThinkPHP 쿼리문 및 관련 쿼리 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿