网站大量收购闲置独家精品文档,联系QQ:2885784924

yii的AR增删改查实例.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
yii的AR增删改查实例

YII(AR) -------------Yii操作数据库的3种方法------------------------------- 一、执行原生太SQL的PDO方式。 复制代码代码如下: $sql = ;//原生态sql语句? xx::model()-dbConnection-createCommand($sql)-execute(); 二、Active Record方式? (1)New 方式 复制代码代码如下: $post=new Post;? $post-title=sample post;? $post-content=post body content;? $post-save(); (2)Criteria方式? 也可以使用 $condition 指定更复杂的查询条件。 不使用字符串,我们可以让 $condition 成为一个 CDbCriteria 的实例,它允许我们指定不限于 WHERE 的条件。? 复制代码代码如下: $criteria=new CDbCriteria;? $criteria-select=title;? // 只选择 title 列? $criteria-condition=postID=:postID;? $criteria-params=array(:postID=10);? $post=Post::model()-find($criteria); Yii的Active Recorder包装了很多。 特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。 ?? $criteria =newCDbCriteria;? ???$criteria-addCondition(id=1); //查询条件,即where id =1 ? ???$criteria-addInCondition(id, array(1,2,3,4,5));//代表where id IN (1,23,,4,5,); ? ???$criteria-addNotInCondition(id,array(1,2,3,4,5));//与上面正好相法,是NOT IN ? ???$criteria-addCondition(id=1,OR);//这是OR条件,多个条件的时候,该条件是OR而非AND? ???$criteria-addSearchCondition(name,分类);//有哪些信誉好的足球投注网站条件,其实代表了。。where name like %分类% ? ???$criteria-addBetweenCondition(id, 1, 4);//between1 and 4? ? ????? ???$criteria-compare(id,1);???//这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,? ???????????????????????????????????//即如果第二个参数是数组就会调用addInCondition ? ???? ???$criteria-addCondition(id = :id);? ???$criteria-params[:id]=1; ? ???? ???$criteria-select = id,parentid,name;//代表了要查询的字段,默认select=*; ? ???$criteria-join = xxx; //连接表? ???$criteria-with = xxx;//调用relations? ? ???$criteria-limit =10;???//取1条数据,如果小于0,则不作处理 ? ???$criteria-offset =1;?? //两条合并起来,则表示 limit 10 offset1,或者代表了。limit 1,10 ? ???$criteria-order = xxx DESC,XXX ASC ;//排序条件? ???$criteria-group = group 条件;? ???$criteria-having = having 条件 ;? ???$criteria-distinct = FALSE;//是否唯一查询 一种替代 CDbCriteria 的方法是给 find 方法传递一个数组。 数组的键和值各自对应标准(criterion)的属性名和值,上面的例子可以重写为如下:? 复制代码代码如下: $post=Post::model()-find(array(? ??? select=title,? ??? condition=postID=:postID,? ??? para

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档