- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)