>백엔드 개발 >PHP 튜토리얼 >yii의 CURD 연산

yii의 CURD 연산

不言
不言원래의
2018-04-20 13:31:551498검색

이 글은 주로 yii의 CURD 조작 기술을 소개하고, yii 프레임워크를 기반으로 추가, 삭제, 수정 및 쿼리의 구체적인 사용법을 예제 형식으로 자세히 분석합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

이 글은 yii의 CURD를 예시로 설명하고 있습니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

CURD는 데이터베이스 기술의 약자로 일반적인 프로젝트 개발에서 다양한 매개변수의 기본 기능이 CURD입니다. 생성, 업데이트, 검색 및 삭제 작업을 나타냅니다. 이 기사에서는 Yii 프레임워크의 CURD 작업에 대해 설명합니다.

1. 데이터 컬렉션 쿼리

1,

코드 복사 코드는 다음과 같습니다.

$admin=Admin::model()->findAll($condition,$params);

이 방법은 다음과 같은 조건에 따라 컬렉션을 쿼리하는 것입니다.

코드 복사 코드는 다음과 같습니다:

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

2 ,

코드 복사 코드는 다음과 같습니다.

$admin=Admin::model()->findAllByPk($postIDs,$condition,$params);
findAllByPk($id,'name like ':name' and age=:age',array(':name'=>$name,'age'=>$age));

이 방법은 기본 키를 기반으로 컬렉션을 쿼리하는 것입니다. 예를 들어,

코드 복사 코드는 다음과 같습니다.

findAllByPk(array(1,2));

3,

코드 복사 코드는 다음과 같습니다.

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

이 방법은 조건을 기준으로 모음을 쿼리하는 방법으로, 여러 조건이 될 수 있습니다.

코드 복사 코드는 다음과 같습니다:

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

4,

코드 복사 코드는 다음과 같습니다.

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

이 방법은 다음과 같습니다. 다음과 같은 SQL 문:

코드 복사 코드는 다음과 같습니다.

findAllBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

2. 개체 쿼리 방법

1,

코드 복사 코드는 다음과 같습니다.

$admin=Admin::model()->findByPk($postID,$condition,$params);

개체 쿼리는 다음과 같습니다. findByPk(1);

2,

코드 복사 코드는 다음과 같습니다.

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

조건에 따라 데이터 집합을 쿼리합니다. 여러 개가 있을 수 있지만 반환만 됩니다. 데이터의 첫 번째 행, 예:

코드 복사 코드는 다음과 같습니다:

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

3,

코드 복사 코드는 다음과 같습니다.

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

이 방법은 데이터 집합을 쿼리하는 것입니다. 여러 조건일 수 있는 조건을 기반으로 조건을 배열에 넣고 다음과 같은 첫 번째 데이터도 쿼리합니다.

코드 복사 코드는 다음과 같습니다.

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

4,

코드 복사 코드는 다음과 같습니다.

$admin=Admin::model()->findBySql($sql,$params);

이 방법은 다음을 기반으로 합니다. SQL 문은 데이터 집합을 쿼리하고 데이터의 첫 번째 부분도 쿼리합니다.

코드 복사 코드는 다음과 같습니다.

findBySql('select *from admin whereusername=:name',array(':name'=>'admin'));

5. SQL을 구하는 메소드를 조합하고, find

코드 복사를 기반으로 객체를 쿼리합니다. 코드는 다음과 같습니다.

$criteria=new CDbCriteria;
$criteria->select='username'; // only select the 'title' column
$criteria->condition='username=:username';
$criteria->params=array(':username=>'admin');
$post=Post::model()->find($criteria); // $params isnot needed

3. 숫자를 쿼리하고 쿼리에 결과가 있는지 확인합니다.

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 whereusername=:name',array(':name'=>'admin'));

3,

코드 복사 코드는 다음과 같습니다.

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

이 방법은 얻은 배열에 다음과 같은 데이터가 있는지 쿼리하는 것입니다. 조건, 데이터 A가 있으면 반환, 그렇지 않으면 발견되지 않음


코드 복사

코드는 다음과 같습니다.

$admin=newAdmin;
$admin->username=$username;
$admin->password=$password;
if($admin->save()>0){
echo '添加成功';
}else{
echo '添加失败';
}
다섯 번째. 1,

코드 복사 코드는 다음과 같습니다:

Post::model()->updateAll($attributes,$condition,$params);
$count =Admin::model()->updateAll(array('username'=>'11111′,'password'=>'11111′),'password=:pass',array(':pass'=>'1111a1′));
if($count>0){
echo '修改成功';
}else{
echo '修改失败';
}

2,

코드 복사 코드는 다음과 같습니다.

Post::model()->updateByPk($pk,$attributes,$condition,$params);
$count =Admin::model()->updateByPk(1,array('username'=>'admin','password'=>'admin'));
$count =Admin::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin'));
if($count>0){
echo '修改成功';
}else{
echo '修改失败';
}

$pk는 기본 키를 나타내며, 하나 또는 집합일 수 있습니다. $ 속성은 수정할 필드 집합을 나타내고 $condition은 조건을 나타내며 $params가 전달됩니다.

3,

값을 입력하세요. 코드를 복사하세요.

코드는 다음과 같습니다.

Post::model()->updateCounters($counters,$condition,$params);
$count=Admin::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));
if($count>0){
echo '修改成功';
}else{
echo '修改失败';
}
array('status'=& gt;1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自加1

6. 삭제 방법

1,

复制代码 代码如下:

Post::model()->deleteAll($condition,$params);
$count = Admin::model()->deleteAll('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin'));
$id=1,2,3
deleteAll('id in('.$id.')');删除id为这些的数据
if($count>0){
echo '删除成功';
}else{
echo '删除失败';
}

2、

复制代码 代码如下:

Post::model()->deleteByPk($pk,$condition,$params);
$count = Admin::model()->deleteByPk(1);
$count =Admin::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin'));
if($count>0){
echo '删除成功';
}else{
echo '删除失败';
}

相关推荐:

yii2 resetful 的授权验证

Yii2.0 PHP使用Sphinx


위 내용은 yii의 CURD 연산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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