>  기사  >  PHP 프레임워크  >  ThinkPHP 쿼리 데이터 select(findAll) 메소드

ThinkPHP 쿼리 데이터 select(findAll) 메소드

步履不停
步履不停원래의
2019-06-25 16:31:156621검색

ThinkPHP 쿼리 데이터 select(findAll) 메소드

ThinkPHP 쿼리 데이터

ThinkPHP 쿼리 데이터는 주로 다음 유형의 쿼리를 제공합니다.

  1. select : 일반 쿼리, findAll() 메소드와 동일
  2. find: 쿼리 조건에 맞는 레코드 가져오기
  3. getBy 동적 쿼리: 쿼리 조건에 맞는 레코드 가져오기 특정 필드에서# 🎜🎜#
  4. getField: 필드의 값 또는 여러 필드의 인덱스 배열 가져오기
  5. Interval 쿼리: 쿼리 조건을 충족하는 간격 레코드 가져오기#🎜🎜 #
  6. 통계 쿼리 : 쿼리 조건을 만족하는 통계 데이터 획득
  7. 포지셔닝 쿼리 : 쿼리 조건을 만족하는 하나 이상의 레코드 획득
  8. Native SQL 쿼리 : 지원 기본 SQL을 사용하여 쿼리 또는 작업 수행
select()

select()는 ThinkPHP, 결과는 2차원 배열입니다. findAll()은 select() 메소드의 별칭이므로 select() 사용을 권장합니다.

읽기 작업

다음 예제에서는 사용자 테이블의 모든 데이터를 읽고 표시합니다.

public function read(){
    $Dao = M("User");
    
    // 查询数据
    $list = $Dao->select();
    //dump($list);// 用 dump() 可以在调试阶段查看数据是否已读取
    // 模板变量赋值
    $this->assign("list", $list);
    // 输出模板
    $this->display();
}

위 예제에 해당하는 클래스를 가정합니다. 파일은 Lib/Action/IndexAction.class.php이고 해당 템플릿 파일은 Tpl/default/Index/read.html입니다.

데이터 표시 템플릿

템플릿 파일은 방금 읽은 User 테이블의 데이터를 표시하는 데 사용됩니다. 학습 단계에서 템플릿을 사용하지 않으려면 foreach 구문을 직접 사용하여 read() 작업 내에서 읽은 데이터를 직접 표시할 수도 있습니다. 다음은 템플릿의 해당 코드 조각입니다. 테이블에 읽은 데이터를 표시합니다.

<table border="1">
    <tr>
        <th width="10%">ID</th>
        <th width="30%">用户名</th>
        <th width="30%">电子邮件</th>
        <th>注册时间</th>
    </tr>
    <volist name="list" id="vo">
    <tr>
        <td align="center">{$vo[&#39;uid&#39;]}</td>
        <td>{$vo[&#39;username&#39;]}</td>
        <td>{$vo[&#39;email&#39;]}</td>
        <td>{$vo[&#39;regdate&#39;]|date=&#39;Y-m-d H:i&#39;,###}</td>
    </tr>
    </volist>
</table>

field() 지정된 필드를 쿼리합니다.

select() 기본 방법입니다. 모든 필드의 데이터를 쿼리하려면 하나 또는 일부 필드를 쿼리하려면 file() 메서드를 사용해야 합니다.

filed() 는 ThinkPHP의 연속 작업에 속하는 메소드입니다. 예를 들어 위의 예에서는 사용자 이름과 이메일 주소만 쿼리하므로 쿼리 메소드를 다음과 같이 변경해야 합니다.

$list = $Dao->field(&#39;username,email&#39;)->select();
#🎜 🎜#쿼리 조건 사용

ThinkPHP 연속 작업을 사용하면 데이터 쿼리에 대한 쿼리 조건을 쉽게 사용할 수 있습니다. 다음은 간단한 쿼리 조건의 몇 가지 예입니다.

where() 조건

……   
    // 构造查询条件
    $condition[&#39;username&#39;] = &#39;Admin&#39;;
    // 查询数据
    $list = $Dao->where($condition)->select();
……

위 쿼리는 username='Admin'의 데이터입니다. ThinkPHP where 조건에 대한 자세한 내용은 "ThinkPHP Where 조건"을 참조하세요.

ORDER BY sorting

쿼리에서 ORDER BY를 사용하여 데이터를 정렬합니다.

……   
    // 查询数据
    $list = $Dao->order(&#39;uid DESC&#39;)->select();
……

이 예는 ORDER BY에 따라 데이터를 쿼리하는 것입니다. uid DESC 이며 order() 메서드의 매개변수 의미는 SQL 문의 의미와 정확히 동일합니다.

LIMIT Limit

쿼리에서 LIMIT를 사용하여 데이터에서 반환되는 레코드 수를 제한합니다.

……   
    // 查询数据
    $list = $Dao->limit(&#39;4,5&#39;)->select();
……

이 예는 5-10개 레코드의 경우, Limit() 메소드의 매개변수 의미는 SQL 문의 LIMIT와 정확히 동일합니다.

연속 작업

ThinkPHP에서는 데이터 객체의 각 메서드를 함께 작성하여 작동할 수 있습니다. 예:

$list = $Dao->order(&#39;uid DESC&#39;)->limit(&#39;4,5&#39;)->select();

ThinkPHP 관련 기술 기사 더보기 , 자세한 내용은

ThinkPHP 튜토리얼

컬럼을 참조하세요!

위 내용은 ThinkPHP 쿼리 데이터 select(findAll) 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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