为了账号安全,请及时绑定邮箱和手机立即绑定

yii框架基础之数据模型操作

标签:
PHP

<?php
/**

  • 活动记录的创建
    */
    namespace app\models;
    use yii\db\ActiveRcord;

class Test extends ActiveRecord
{

public function __construct(argument)
{
    # code...
}

}

/**

  • 活动记录的单表查询
    */
    namespace app\controllers;
    use yii\web\Controller;
    use app\models\Test;

class Test extends ActiveRecord
{

public function actionIndex()
{
    //查询数据
    $sql = 'select * from test where id=1';
    $results = Test::findBySql()->all();  //返回的记录都会包装为一个对象

    //安全,占位
    $results = Test::find()->where(['id'=>1])->all();

    //id>0
    $results = Test::find()->where(['>','id', 0])->all();

    //id>=1  并且 id<=2
    $results = Test::find()->where(['between','id', 1, 2])->all();

    //title like "%title1%"
    $results = Test::find()->where(['like','title', 'title1'])->all();

    //查询结果转化成数据,降低内存占有
    $results = Test::find()->where(['like','title', 'title1'])-asArray()->all();

    //批量查询,降低内存占有
    foreach(Test::find()->batch(2) as $tests){
        print_r(count($tests));
    }

    //单表删除
    $results = Test::find()->where(['id'=>1])->all();
    $results[0]->delete(); //删除单条记录
    Test::deleteAll('id>:id',array(':id'=>0)); //删除数据

    //单表添加数据, 可以在Test的model添加rules规则来验证数据
    $test = new Test;
    $test->id = 3;
    $test->title = 'title3';
    $test->validate();
    if($test->hasErrors){
        echo 'error';
        die;
    }
    $test->save();

    //单表数据修改
    $test = Test::find()->where(['id'=>4])->one();
    $test->title = 'title4';
    $test->save();

    print_r($results);
}

}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
3
获赞与收藏
4

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消