Yii框架连接数据库学习笔记
发布时间:2023-05-10 编辑:jiaochengji.com
教程集为您提供Yii框架连接数据库学习笔记等资源,欢迎您收藏本站,我们将为您提供最新的Yii框架连接数据库学习笔记资源
II采用ORM(object-Relation Mapping)的设计模式进行数据库编程,下面我就来给大家整理一下关于我在了解yii中一个数据库连接的例子,希望对各位学习yii会有所帮助。
配置数据库连接 在protected/config/main.php文件中:
代码如下 | 复制代码 |
'db'=>array( 'connectionString'=>'mysql:host=localhost;dbname=testdrive', 'emulatePreare'=>true, 'username'=>'root', 'password'=>'', 'charset'=>'utf8', ), |
定义数据库操作类:models
代码如下 | 复制代码 |
<?php class User extends CActiveRecord{ public static function model(__CLASS__){ return parent::model($className); } www.111cn.net //静态方法model()是每一个AR类所必须的。 public function tableName(){ return '{{User}}'; } } ?> |
实例化数据库操作类:controllers
代码如下 | 复制代码 |
<?php class UserController extends Controller{ public function actionIndex(){ $model = new User; $model->username = 'admin'; $model->password = '123456'; $model->email = 'admin@admin.com'; var_dump($model->save()); exit; $this->render('index'); } } ?> |
读取记录:
代码如下 | 复制代码 |
//查找满足指定条件的结果中的一行 $user = User::model->find($condition,$params); //查找具有指定主键值得那一行 $user = User::model->findByPk($postId,$condition,$params); //查找具有指定属性值的行 $user = User::model->findByAttributes($attributes,$condition,$params); //通过指定的SQL语句查找结果中的第一行 $user = User::model->findBySql($sql,$params); // 查找满足指定条件的所有行 $posts=Post::model()->findAll($condition,$params); // 查找带有指定主键的所有行 $posts=Post::model()->findAllByPk($postIDs,$condition,$params); // 查找带有指定属性值的所有行 $posts=Post::model()->findAllByAttributes($attributes,$condition,$params); // 通过指定的SQL语句查找所有行 $posts=Post::model()->findAllBySql($sql,$params); 我们可以让$condition成为一个CDbCriteria的实例。 $criteria = new CDbCriteria; $criteria->select = 'title'; //只选择'title'列 $criteria->condition = 'postID=:postID'; $criteria->params = array(':postID'=>10); $post = Post::model->find($criteria); //$params不需要了 // 获取满足指定条件的行数 www.111cn.net $n=Post::model()->count($condition,$params); // 通过指定的 SQL 获取结果行数 $n=Post::model()->countBySql($sql,$params); // 检查是否至少有一行复合指定的条件 $exists=Post::model()->exists($condition,$params); |
更新记录:
代码如下 | 复制代码 |
$post = Post::model->findByPk(10); $post->title = 'new post title'; $post->save(); //将更改保存到数据库 //更新符合指定条件的行 Post::model->updateAll($attributes,$condition,$params); //更新符合指定条件和主键的行 Post::model->updateByPk($pk,$attributes,$condition,$params); //更新满足指定条件的行的计数列 Post::model->updateCounters($counters,$condition,$params); |
删除数据:
代码如下 | 复制代码 |
$post=Post::model()->findByPk(10); // 假设有一个帖子,其 ID 为 10 $post->delete(); // 从数据表中删除此行 // 删除符合指定条件的行 Post::model()->deleteAll($condition,$params); // 删除符合指定条件和主键的行 Post::model()->deleteByPk($pk,$condition,$params); |
您可能感兴趣的文章:
yii框架如何通过控制台命令创建定时任务
yii2.0基础的学习笔记
php面向对象框架有哪些
Yii 2 创建 migration 给表添加字段的例子
PHP框架Yii入门教程之Hello World
YYii框架学习笔记
Yii框架连接数据库学习笔记
Yii框架把模板页面与框架整合
Yii学习笔记之配置文件详解
Yii2框架自动加载机制学习