您的位置:首页 > 编程语言 > PHP开发

YII2模型之增删改查

2016-11-30 16:45 316 查看
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: