yii の CURD 操作

不言
不言オリジナル
2018-04-20 13:31:551497ブラウズ

この記事では、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); などの主キー: 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 ステートメントに従ってコレクションに含まれるレコードの数をクエリし、1 つの int 型を返します。

コードをコピー

コードは次のとおりです:

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

コードをコピー

コードは次のとおりです:

$exists=Post::model()->exists($condition,$params);
このメソッドは、取得した配列にデータがあるかどうかをクエリします。条件を返し、データ A が存在する場合は true、存在しない場合は返されます

4. メソッドの追加


コードをコピーする

コードは次のとおりです:

$admin=newAdmin;
$admin->username=$username;
$admin->password=$password;
if($admin->save()>0){
echo '添加成功';
}else{
echo '添加失败';
}
5. 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 は主キーを表し、1 つまたはセットを表します。$属性は変更するフィールドのセットを表し、$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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。