欢迎来到资源库(www.zyku.net)

Yii

当前位置:首页 > 网络编程 > Yii > Yii

Yii操作数据库的3种方法

时间:2017-02-18|栏目:Yii|点击:|我要投稿

一、执行原生太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);

一种替代 CDbCriteria 的方法是给 find 方法传递一个数组。 数组的键和值各自对应标准(criterion)的属性名和值,上面的例子可以重写为如下:

  $post=Post::model()->find(array( 
  'select'=>'title', 
  'condition'=>'postID=:postID', 
  'params'=>array(':postID'=>10), 
));

当一个查询条件是关于按指定的值匹配几个列时,我们可以使用 findByAttributes()。我们使 $attributes 参数是一个以列名做索引的值的数组。在一些框架中,此任务可以通过调用类似 findByNameAndTitle 的方法实现。虽然此方法看起来很诱人,但它常常引起混淆、冲突和比如列名大小写敏感的问题。

三、Query Builder 方式

$user = Yii::app()->db->createCommand() 
  ->select('id, username, profile') 
  ->from('tbl_user u') 
  ->join('tbl_profile p', 'u.id=p.user_id')  
  ->where('id=:id', array(':id'=>$id)) 
->queryRow();

(资源库 www.zyku.net)

上一篇:返回列表

栏    目:Yii

下一篇:全面解读PHP的Yii框架中的日志功能

本文标题:Yii操作数据库的3种方法

本文地址:https://www.zyku.net/yii/583.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务