この記事では、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
1、
コードをコピーします コードは次のとおりです: $n=Post::model()->count($condition,$params);
このメソッドは、条件に基づいてコレクションに存在するレコードの数をクエリし、
コードは次のとおりです: 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、存在しない場合は返されます
コードをコピーする
$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字段都自加16. メソッドを削除します
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 '删除失败'; }
相关推荐:
以上がyii の CURD 操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。