Yii2 深入了解模型之增删改查
2016-10-07 11:32
459 查看
1、ActiveRecord类型的增删改查以\app\models\Article 模型为准,
来操作以下函数
1) 查询数据
①findAll 查询多条数据 \app\models\Article::findAll([‘status’ => ‘1’]); //查询 Article , status为 1
的所有数据
②根据 findOne 进行查询,
根式\app\models\Article::findOne(‘条件’); \app\models\Article::findOne(1); //直接根据 id查询 \app\models\Article::findOne([‘status’
=> ‘1’]); //根据指定条件查询
③根据 find()进行查询 , find 可以连接查询//查询一条 id等于 1
的数据
\app\model\Article::find()->where([‘id’ => 1])->one(); //查询 status等于 1
的所有数据 \app\model\Article::find()->where([‘status’ => ‘1’])->all();
或
\app\model\Article::find()->where(‘status=:status’ , [‘:status’ => ‘1’])->all(); //查询 status等于 1
的所有数据 ,根据 date
排序 \app\model\Article::find()->where([‘status’ => ‘1’])->orderBy(‘date DESC’)->all();
//查询 status
等于 1 的数据 ,
根据 date 排序
, 从第 5 条开始,读取 3条
\app\model\Article::find()->where([‘status’=>‘1’])->orderBy(‘date DESC’)->offset(5) ->limit(3) ->all();
④更新一条数据
$article = \app\models\Article::findOne(1); $article -> title = ‘change title’;
//save 函数第一个参数默认为 true ,就是更新或插入启动验证
//如果不想使用验证可以用 save(false); $article -> save();
⑤更新指定属性 updateAll(‘更新的属性’ , ‘条件’ ) \app\models\Article::updateAll([‘title’ => ‘change title’ ] , [‘id’ => 1]);
⑥添加一条新数据
$article = new \app\models\Article(); $article -> title = ‘new one’;
$article -> content = ‘this is new’; $article -> save();
⑦删除一条数据
\app\models\Article::findOne(1)->delete();
⑧删除指定条件的数据
\app\models\Article::deleteAll([‘id’ => 2]);
2、\yii\db\Query
查询数据 $db = new \yii\db\Query; //查询一条 id等于 2
的数据
$db->select('id')->from('mrs_article')->where("id=:id " , [':id' => 2])->one(); $db->select('id')->from('mrs_article')->where([‘id’ => 1])->one(); //查询多条 $db->select('id')->from('mrs_article')->where([‘status’
=> ‘1’])->all(); //in 查询多条 $db->select('id')->from('mrs_article')->where([‘id’ =>[1,2]])->all(); //根据时间排序 ,并且从第 5条开始获取 3
条
$db->select(‘id’)->from(‘mrs_article’)->orderBy(‘date DESC’)->offset(5)->limit(3)->all()
//查询数据总个数
$db->select('id')->from('mrs_article')->count();
3、Yii::$app->db
进行增删改查
① 查询数据//查询一条数据
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article”)->queryOne();
//绑定单个防注入参数
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article where id=:id”) ->bindValue(“:id” , 2)->queryOne();
//绑定多个防注入参数
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article where id=:id AND status=:status”) ->bindValues([‘:id’ => 1 , ‘:status’ => ‘1’])->queryOne();
//查询多条数据
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article”)->queryAll();
//查询指定数据的字段的数据
$db =\Yii::$app->db;
$db->createCommand(“SELECT COUNT(*) FROM mrs_article”)->queryScalar();
② 更新数据
$db = \Yii::$app->db->createCommand();
$db->update(‘mrs_article’ , [‘status’=>0] , “id=:id” , [‘:id’ => 1])->execute();
③插入数据
$db = \Yii::$app->db->createCommand(); $db->insert(‘mrs_article’ , [‘title’=>’new Record’] )->execute();
④删除数据
$db = \Yii::$app->db->createCommand(); $db->delete(‘mrs_article’ , “id=:id” , [‘:id’ => 1] )->execute();
来操作以下函数
1) 查询数据
①findAll 查询多条数据 \app\models\Article::findAll([‘status’ => ‘1’]); //查询 Article , status为 1
的所有数据
②根据 findOne 进行查询,
根式\app\models\Article::findOne(‘条件’); \app\models\Article::findOne(1); //直接根据 id查询 \app\models\Article::findOne([‘status’
=> ‘1’]); //根据指定条件查询
③根据 find()进行查询 , find 可以连接查询//查询一条 id等于 1
的数据
\app\model\Article::find()->where([‘id’ => 1])->one(); //查询 status等于 1
的所有数据 \app\model\Article::find()->where([‘status’ => ‘1’])->all();
或
\app\model\Article::find()->where(‘status=:status’ , [‘:status’ => ‘1’])->all(); //查询 status等于 1
的所有数据 ,根据 date
排序 \app\model\Article::find()->where([‘status’ => ‘1’])->orderBy(‘date DESC’)->all();
//查询 status
等于 1 的数据 ,
根据 date 排序
, 从第 5 条开始,读取 3条
\app\model\Article::find()->where([‘status’=>‘1’])->orderBy(‘date DESC’)->offset(5) ->limit(3) ->all();
④更新一条数据
$article = \app\models\Article::findOne(1); $article -> title = ‘change title’;
//save 函数第一个参数默认为 true ,就是更新或插入启动验证
//如果不想使用验证可以用 save(false); $article -> save();
⑤更新指定属性 updateAll(‘更新的属性’ , ‘条件’ ) \app\models\Article::updateAll([‘title’ => ‘change title’ ] , [‘id’ => 1]);
⑥添加一条新数据
$article = new \app\models\Article(); $article -> title = ‘new one’;
$article -> content = ‘this is new’; $article -> save();
⑦删除一条数据
\app\models\Article::findOne(1)->delete();
⑧删除指定条件的数据
\app\models\Article::deleteAll([‘id’ => 2]);
2、\yii\db\Query
查询数据 $db = new \yii\db\Query; //查询一条 id等于 2
的数据
$db->select('id')->from('mrs_article')->where("id=:id " , [':id' => 2])->one(); $db->select('id')->from('mrs_article')->where([‘id’ => 1])->one(); //查询多条 $db->select('id')->from('mrs_article')->where([‘status’
=> ‘1’])->all(); //in 查询多条 $db->select('id')->from('mrs_article')->where([‘id’ =>[1,2]])->all(); //根据时间排序 ,并且从第 5条开始获取 3
条
$db->select(‘id’)->from(‘mrs_article’)->orderBy(‘date DESC’)->offset(5)->limit(3)->all()
//查询数据总个数
$db->select('id')->from('mrs_article')->count();
3、Yii::$app->db
进行增删改查
① 查询数据//查询一条数据
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article”)->queryOne();
//绑定单个防注入参数
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article where id=:id”) ->bindValue(“:id” , 2)->queryOne();
//绑定多个防注入参数
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article where id=:id AND status=:status”) ->bindValues([‘:id’ => 1 , ‘:status’ => ‘1’])->queryOne();
//查询多条数据
\Yii::$app->db->createCommand(“SELECT * FROM mrs_article”)->queryAll();
//查询指定数据的字段的数据
$db =\Yii::$app->db;
$db->createCommand(“SELECT COUNT(*) FROM mrs_article”)->queryScalar();
② 更新数据
$db = \Yii::$app->db->createCommand();
$db->update(‘mrs_article’ , [‘status’=>0] , “id=:id” , [‘:id’ => 1])->execute();
③插入数据
$db = \Yii::$app->db->createCommand(); $db->insert(‘mrs_article’ , [‘title’=>’new Record’] )->execute();
④删除数据
$db = \Yii::$app->db->createCommand(); $db->delete(‘mrs_article’ , “id=:id” , [‘:id’ => 1] )->execute();
相关文章推荐
- Yii2 深入了解模型之增删改查
- Yii2深入了解模型之增删改查(读写)
- Yii2 深入了解模型之增删改查
- 深入了解 Flexbox 伸缩盒模型
- 深入了解软件开发瀑布模型
- 深入了解Linux设备模型
- 深入了解Java“双亲委派”模型
- 深入了解几种IO模型(阻塞非阻塞,同步异步)
- 深入了解一下Redis的内存模型!
- 深入了解 Flexbox 伸缩盒模型
- YII2模型之增删改查
- 深入了解yii2框架
- 深入了解 Flexbox 伸缩盒模型
- 读深入了解c++内核对象模型小结(1/3/4)
- yii2模型之增删改查
- YII2模型之增删改查
- 深入了解 Flexbox 伸缩盒模型
- YII2模型之增删改查
- 看了一晚上的视频,对printf有了更加深入的了解
- 深入C++对象模型&虚函数表