我正在开发我的第一个YII网站。我对YII数据库有一些疑问。
在yii中有三种查询数据库的方法。
在查询构建器查询的情况下,我们明确选择像
这样的表 $user = Yii::app()->db->createCommand()
->select('id, username, profile')
->from('tbl_user') // explicitly choosing the table
->join('tbl_profile p', 'u.id=p.user_id')
->where('id=:id', array(':id'=>$id))
->queryRow();
那么我应该在哪里编写查询构建器查询?如果我把它们写在相应的表模型中有什么好处吗?
如果我使用DAO或查询构建器,哪个类应该扩展我的模型?
如果我遵循DAO方法或查询构建器方法,如何验证用户输入?
答案 0 :(得分:6)
取决于。如果你知道如何安全使用它们,所有都是同样安全的。
DAO。这是我的看法。
在模特中。
Yii中有两个主要的模型类。 CFormModel
和CModel
。对于查询,请相对于CModel扩展类。
最后只是一个注释。 DAO是其中最快的。活动记录最慢。另一方面,活动记录更方便。你是需要决定什么应该是平衡的人。
答案 1 :(得分:0)
您可以使用CActiveRecord满足您的所有要求。