Yii 2.0 精简笔记整理 数据库增产改查

2017-09-13 12:22:08来源:CSDN作者:dszhxb人点击

分享
//获取传参,以及设置默认值$request = /Yii::$app->request;$id = $request->get('id',1);$id = $request->post('id',1);//判断请求的类型$id = $request->isGet;$id = $request->siPost;//获取用户IP$ip = $request->userIP;
//渲染V层并传递参数return $this->renderPartial('index',$arr);//不渲染父模板return $this->render('index',$arr);//layout渲染父模板compact('arr1','arr2',......);//数组组装//YII框架没有模板引擎类似CI框架
//定义父模板//1、建立模板view/layout/home.php//2、控制器定义公共属性public $layout = 'home';//用属性的方法定义父模板
//模板之间的相互调用<?=this->render('index');?>
//字符串过滤(V层)预防xss攻击<?phpuse /Yii/helper/Html;use /Yii/helper/HtmlPurifier;?><?=Html::encode($str);?>//转为html实体输出<?=HtmlPurifier::process($str);?>//标签过滤清楚
//自定义全局工具函数//1、根目录新建文件夹helper;//2、创建function.php;//3、入口文件index.php加入require(__DIR__.'/../helper/function.php');引入工具函数php文件即可
//model层 模型创建可以参考系统自带的model,注意模型名称与对应表名一致。/config/db.php //配置数据库信息Article::findBySql($sql,[':id'=>$id])->all();//执行sql语句,第二个参数使用占位符,防止sql注入。
//查询Article::find()->where()->all();//查询多条Article::find()->where()->asArray()->all();//返回数组(比对象节约内存)Article::find()->batch(2);//获取2条(将结果分批显示,缓解内存压力)Article::find()->where()->one();//查询单条//where条件写法1、id = 5;where([' id'=>5])2、id >3;where(['>',' id',5])3、5>=id>=2;where([' between',' id',2,5])4、title like 巴菲特where([' like',' title ','巴菲特'])//简便写法Article::findOne(5);//id = 5Article::findAll(3,4,5);//id =3,4,5
//增加数据$article = new Article();$article->title = '标题';$article->num= 3;$data = $article->save();//$data = $article->insert();//返回bool$id = $article->attributes['id'];
//修改数据$article = Article::findOne(5);$article->title = '标题';$article->num= 3;$data = $article->save();//save()可以根据条件,自动判断执行update还是insert。//$data = $article->update();//返回bool//更新单条数据$article = Article::updateAllCounters(['num'=>1],['id'=>8]);//id = 8的字段自增1。
//删除数据$article = Article::findOne(5);$article = Article::find()->where([' id' => 15])->one();$data = Article[0]->delete();//简便写法$data = Article::deleteAll('id>:id and num<:num',[':id'=>13,':num'=>100]);
//关联表一对多查询hasMany--通过分类找文章$category = Category::findOne(1);$articles = $category->hasMany(Article::className(),['cate_id'=>'id'])->asArray();
//关联表一对一查询hasOne--通过文章找分类$articles = Article::findOne(1);$category = $articles ->hasOne(Category::className(),['id'=>'cate_id']);//可以在model中定义方法,然后C中通过属性访问,自动调用方法。
//join--查找每一篇文章,并显示其分类$articles = Article::find()->with('catagory')->asArray()->all();

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台