ホームページ >バックエンド開発 >PHPチュートリアル >Yiiフレームワークの追加・削除・変更について
この記事では、Yii フレームワークの追加、削除、修正、確認を中心に紹介しています。一定の参考価値があるので、みんなに共有します。困っている友達は参考にしてください。
# 1. データのクエリ
1. findAll (条件に基づいてコレクションをクエリ)$admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll("username=:name",array(":name"=>$username)); $admin=Admin::model()->findAll(“username=:name and age=:age” , array(“:name”=>$name, “age”=>$age)); $admin=Admin::model()->findAll(“username like :name and age=:age” , array(“:name”=>$name, “age”=>$age)); $infoArr= NewsList::model()->findAll("status = '1' ORDER BY id DESC limit 10 ");2. findAllByPk (主キーに基づいてコレクションをクエリ、複数の主キーを使用できます)
$admin=Admin::model()->findAllByPk($postIDs,$condition,$params); $admin=Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age)); $admin=Admin::model()->findAllByPk(array(1,2));3. findAllByAttributes (複数の条件を指定できる条件に基づいてコレクションをクエリし、その条件を配列に入れます)
$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params); $admin=Admin::model()->findAllByAttributes(array('username'=>'admin'));4. findAllBySql( SQL ステートメントに基づいて配列をクエリします)
$admin=Admin::model()->findAllBySql($sql,$params); $admin=Admin::model()->findAllBySql("select * from admin where username like :name",array(':name'=>'%ad%'));5. findByPk(プライマリに基づいてオブジェクトをクエリします) key)
$admin=Admin::model()->findByPk($postID,$condition,$params); $admin=Admin::model()->findByPk(1);6. find (条件に基づいてデータのセットをクエリします。複数のデータがある場合があります。データの最初の行のみが返されます)
$row=Admin::model()->find($condition,$params); $row=Admin::model()->find('username=:name',array(':name'=>'admin'));7. findByAttributes (条件に基づいてデータのセットをクエリします。複数の条件を指定できます。条件を配列に入力し、最初の部分をクエリします。データ)
$admin=Admin::model()->findByAttributes($attributes,$condition,$params); $admin=Admin::model()->findByAttributes(array('username'=>'admin'));8 、findBySql (SQL ステートメントに基づいてデータ セットをクエリし、最初のデータをクエリ)
$admin=Admin::model()->findBySql($sql,$params); $admin=Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin'));9, count (条件に基づいてコレクション内にレコードが何件あるかをクエリし、int 型の数値を返します)
$count=Post::model()->count($condition,$params); $count=Post::model()->count("username=:name",array(":name"=>$username));10. countBySql (SQL ステートメントに従ってコレクションに含まれるレコード数をクエリし、int 型の数値を返します)
$count=Post::model()->countBySql($sql,$params); $count=Post::model()->countBySql("select * from admin where username=:name",array(':name'=>'admin'));11.exists (クエリベース)取得した配列にデータがあるかどうかを条件で確認します。データがある場合は true を返し、そうでない場合は見つかりません)
$exists=Post::model()->exists($condition,$params); $exists=Post::model()->exists("name=:name",array(":name"=>$username));
2 . データの追加
save(add data)$admin=new Admin; $admin->username =$username; $admin->password =$password; if($admin->save() > 0){echo"添加成功"; }else{echo"添加失败"; }
3. データの変更
update($pk 主キー。 1 つまたはセット、$attributes は変更するフィールドのセット、$condition 条件、$params によって渡される値)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"修改失败"; } $result=PostList::model()->updateAll(array('status'=>'1'),'staff_id=:staff and host_id=:host',array(':staff'=>$staff_id,':host'=>$host_id))
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"修改失败"; } 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'=>1) は管理テーブルを表します。 username='admin' の条件に従って、すべてのクエリ結果のステータス フィールドが 1
ずつ増加します 4. データの削除
deletePost::model()->deleteAll($condition,$params); $count=Admin::model()->deleteAll('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin')); $count= Admin::model()->deleteAll('id in("1,2,3")');//删除id为这些的数据 if($count>0){echo"删除成功"; }else{echo"删除失败"; } 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"删除失败"; }
5. createCommand
$sql="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id"; $rows=Yii::app()->db->createCommand($sql)->query(); foreach($rowsas $k => $v){ echo$v['add_time']; }
6. トランザクション処理
$dbTrans= Yii::app()->db->beginTransaction(); try{ $post=new Post; $post->'title'='Hello dodobook!!!'; if(!$post->save()){ throw new Exception("Error Processing Request", 1); } $dbTrans->commit(); $this->_end(0,'添加成功!!!'); }catch(Exception$e){ $dbTrans->rollback(); $this->_end($e->getCode(),$e->getMessage()); }関連する推奨事項:
PHP では、同じ値を持つ配列で新しい配列インスタンスを形成できます。 ##PHP 文字列の長さが一致しない問題の解決方法の詳細な説明
以上がYiiフレームワークの追加・削除・変更についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。