>  기사  >  백엔드 개발  >  PHP Yii 프레임워크의 데이터베이스 쿼리 작업 요약

PHP Yii 프레임워크의 데이터베이스 쿼리 작업 요약

小云云
小云云원래의
2017-11-16 11:39:232390검색

Yii는 배우고 사용하기 쉽습니다. PHP와 객체지향 프로그래밍만 알면 되며, 새로운 아키텍처나 템플릿 언어를 미리 배우지 않고도 빠르게 시작할 수 있습니다. Yii를 사용한 개발은 매우 빠르며 프레임워크 자체 이외의 애플리케이션에 대해 작성하는 데 코딩이 거의 필요하지 않습니다. 실제로 이는 가장 효율적인 개발 프레임워크 중 하나입니다. Yii 프레임워크에서 데이터베이스 쿼리 데이터를 처리하는 방법에 대해 얼마나 알고 계시나요? 오늘 편집자는 모든 사람을 위한 요약을 만들었습니다.

yii 프레임워크에서 데이터베이스 쿼리 데이터에 대한 메서드 요약입니다.

(1)

$result=Yii::app()->dbName->createCommand($sql)->queryRow();

반환된 결과 집합은 비어 있지 않은 경우 1차원 배열입니다. 코드의 dbName은 데이터 테이블이 위치한 라이브러리의 이름이고 $sql은 임의의 SQL 문일 수 있습니다.

(2)

$result=Yii::app()->dbName->createCommand($sql)->queryAll();

반환된 결과 집합은 비어 있지 않은 경우 2차원 배열입니다. 코드의 dbName은 데이터 테이블이 위치한 라이브러리의 이름이고 $sql은 임의의 SQL 문일 수 있습니다.

(3)

$result=Region::model()->findByPk($id);

반환된 결과는 비어 있지 않은 경우 개체입니다. 코드의 Region은 모델 디렉터리에 저장된 Region.php 파일을 나타냅니다. 여기서 $id 값은 Region.php에 정의된 값을 나타냅니다. 기본 키와 동일한 값입니다.

(4)

$result=Region::model()->findAll($condition,$params);

예:

findAll("username=:name",array(":name"=>$username));

에서 반환된 결과 집합이 비어 있지 않으면 2차원 배열이고 배열의 첫 번째 차원에 있는 결과 집합은 개체입니다.

(5)

$admin=User::model()->findAllByPk($postIDs,$condition,$params);

예:

findAllByPk($id,"name like ':name' and age=:age",array(':name'=>$name,'age'=>$age));

이 메서드는 기본 키를 기반으로 집합을 쿼리합니다. 반환된 결과 집합이 비어 있지 않으면 2차원 배열이 되고 결과의 첫 번째 차원이 됩니다. 배열의 집합은 객체입니다. 다음과 같은 여러 기본 키를 사용할 수도 있습니다. findAllByPk(array(1,2));

(6)

$admin=User::model()->findAllBySql($sql,$params);

반환된 결과 집합이 비어 있지 않으면 2차원 배열이 되며 결과는 배열의 첫 번째 차원 집합은 객체입니다. 사용 예는 다음과 같습니다.

findAllBySql("select * from admin where username=:name",array(':name'=>'admin'));

(7)

$post=Post::model()->findBySql($sql,$params);

에서 반환된 결과 집합이 비어 있지 않으면 객체이고 쿼리 결과는 배열의 첫 번째 조각일 뿐입니다. 데이터. 예:

findBySql("select * from user where username=:name",array(':name'=>'phpernote.com'));

(8)

$row=User::model()->find($condition,$params);

에서 반환된 결과 집합이 비어 있지 않으면 개체이고 쿼리 결과는 데이터의 첫 번째 부분일 뿐입니다. 예:

find('username=:name',array(':name'=>'admin'));

또는:

find(array('condition'=>'user_id=:user_id','params'=>array(':user_id'=>$uid)));

(9)

$admin=User::model()->findByAttributes($attributes,$condition,$params);

이 방법은 조건을 기반으로 여러 조건을 쿼리 결과 집합에 넣을 수 있습니다. 데이터가 하나만 있습니다. 예:

findByAttributes(array('username'=>'admin'));

또는


(10)

$admin=User::model()->findAllByAttributes($attributes,$condition,$params);

에서 반환된 결과 집합은 비어 있지 않은 경우 2차원 배열이고 결과 집합은 다음과 같습니다. 배열은 객체입니다.

(9)

// 如果查询条件很是复杂,就要使用CDbCriteria类
$criteria=new CDbCriteria;$criteria->select='title';$creteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);$post=Post::model()->find($criteria); // 不需要第二个参数
// 另一种更好的写法
$post=Post::model()->find( array(        'select'=>'title',        'condition'=>'postID=:postID',        'params'=>array(':postID'=>10)    ));

숫자를 질의하여 결과가 있는지 확인

1,

$n=Post::model()->count($condition,$params);


조건에 따라 컬렉션에 몇 개의 레코드가 있는지 질의하고 int형 숫자를 반환하는 방식이며, 예:

count("username=:name",array(":name"=>$username));


2,

$n=Post::model()->countBySql($sql,$params);

이 방법은 SQL 문을 기반으로 컬렉션에 몇 개의 레코드가 있는지 쿼리하고 int 유형 번호를 반환하는 것입니다. 예:

countBySql("select * from admin where username=:name",array(':name'=>'admin'));

3,

$exists=Post::model()->exists($condition,$params);

이 방법은 조건에 따라 쿼리하는 것이며, 얻은 배열은 데이터가 없으면 true를 반환하고 그렇지 않으면 찾을 수 없습니다.

위는 Yii 프레임워크에서 데이터베이스 쿼리 데이터를 쿼리하는 방법을 요약한 것입니다. 나는 모든 사람들이 이에 대해 더 자세히 이해하고 있다고 믿습니다. 앞서 Yii 프레임워크에 대한 더 많은 관련 기사를 언급했는데, PHP 중국어 웹사이트에 주목할 수 있습니다.

관련 권장 사항:

YII 프레임워크에서 Memcache를 사용하는 방법에 대한 설명

양식을 사용하여 파일을 업로드하는 Yii2에 대한 설명 예

Yii 프레임워크에서 인증 코드, 로그인 및 종료 기능 구현에 대한 설명

PHP—yii 프레임워크 캐싱 지식 수집

Yii 프레임워크 모듈 개발

위 내용은 PHP Yii 프레임워크의 데이터베이스 쿼리 작업 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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