この記事は、私が数日間勉強しただけの、yiiのデータの追加、データの変更、データの削除に関する操作をまとめたものです。将来的には、どれほど重要なものであっても、困っている友人が見てくれるようにします。
データの追加方法
(1)saveメソッド(オブジェクトフォーム操作)
$user=新しいユーザー;
$user->username='phpernote';
$user->password='123456';
if($user->save()>0){
echo '正常に追加されました';
}その他{
echo '追加に失敗しました';
}
(2) insertメソッド(配列形式の演算)
Yii::app()->dbName->createCommand()->insert('tbl_user',
)
配列(
'ユーザー名'=>'phpernote',
'パスワード'=>'123456'
)
);
(3) insertメソッド(オブジェクトフォーム操作)
$user=新しいユーザー();
$user->username='phpernote';
$user->password='123456';
if($user->insert()){
echo '正常に追加されました';
}その他{
echo '追加に失敗しました';
}
データの変更方法
(1)Post::model()->updateAll($attributes,$condition,$params);
$count=User::model()->updateAll(array('username'=>'phpernote','password'=>'123456'),'id=:id',array(':id' =>$id));
if($count>0){
echo '変更が成功しました';
}その他{
echo '変更に失敗しました';
}
(2) Post::model()->updateByPk($pk,$attributes,$condition,$params);
$count=User::model()->updateByPk(1,array('username'=>'admin','password'=>'123456'));
または
$count=User::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'123456'),'username=:name ',array(':name'=>'admin'));
if($count>0){
echo '変更が成功しました';
}その他{
echo '変更に失敗しました';
}
$pk は 1 つまたはセットの主キーを表し、$attributes は変更されるフィールドのセットを表し、$condition は条件を表し、$params によって渡される値を表します
(3) Post::model()->updateCounters($counters,$condition,$params);
$count =User::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));
if($count>0){
echo '変更が成功しました';
}その他{
echo '変更に失敗しました';
}
array('status'=>1) はデータベース内の管理テーブルを表します。 username='admin' の条件に従って、すべてのクエリ結果の status フィールドは自動的に 1 ずつ増加します
User::model()->updateCounters(array('count'=>1), 'id='.User::model()->id);//自動で1を重ね合わせる
User::model()->updateCounters(array('count'=>-1), 'id='.User::model()->id);//自動的に 1 ずつ減ります
(4) Yii::app()->dbName->createCommand()->update($attributes,$condition,$params);
Yii::app()->dbName->createCommand()->update('tbl_user',
配列(
'ユーザー名'=>'phpernote'
)、
'id=:id',
配列(
':id'=>3
)
);
データの削除方法
(1) Post::model()->deleteAll($condition,$params);
例:
$count=User::model()->deleteAll('username=:name AND パスワード=:pass',array(':name'=>'phpernote',':pass'=>'123456') );
または:
$count=User::model()->deleteAll('id in("1,2,3")') //これらの ID のデータを削除します
if($count>0){
echo '削除に成功しました';
}その他{
echo '削除に失敗しました';
}
(2) Post::model()->deleteByPk($pk,$condition,$params);
例:
$count=User::model()->deleteByPk(1);
または:
$count=User::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin'));
if($count>0){
echo '削除に成功しました';
}その他{
echo '削除に失敗しました';
}