yii 数据save后得到插入id

 

$post->save();
//得到上次插入的Insert id
$id = $post->attributes['id'];
如此很简单

 

 

yii获取ip地址

Yii::app()->request->userHostAddress;

 

 

 

yii execute后获取insert id

$id = Yii::app()->db->getLastInsertID();

 

yii获取get,post过来的数据

Yii::app()->request->getParam('id');

yii如何设置时区

可以在config/main.php 里'timeZone'=>'Asia/Chongqing',设定时区.

 

yii如何将表单验证提示弄成中文的

将main.php里的app配置加上language=>'zh_cn',系统默认的提示就是中文的了,要自定义消息就像楼上说的定义message

 

yii如何获得上一页的url以返回

Yii::app()->request->urlReferrer;

yii多对多关联条件

[html] view plaincopy

  1. $criteria->addInCondition('categorys.id',$in);

  2. $criteria->addSearchCondition('Shop.name',$keyword);$shops=Shop::model()->with(array('categorys'=>array('together'=>true)))->findAll($criteria);

同时要在Shop模型中加入alias='categorys' ,另外together=true放在模型的关联中也可

 

 

yii如何防止重复提交?

提交后Ccontroler->refresh();

 

yii过滤不良代码

[html] view plaincopy

  1. $purifier=new CHtmlPurifier;

  2. $purifier->options=array('HTML.Allowed'=>'div');

  3. $content=$purifier->purify($content);

或者

[html] view plaincopy

  1. <?php $this->beginWidget('CHtmlPurifier'); ?>

  2. ...display user-entered content here...

  3. <?php $this->endWidget(); ?>

显示yii的sql语句查询条数和时间

在config/main.php中配置在log组件的routes中加入

[html] view plaincopy

  1. array(

  2. 'class'=>'CProfileLogRoute',

  3. 'levels'=>'error, warning',

  4. )

同时在db组件中加入'enableProfiling'=>true,同时在这种情况下,可以用CDbConnection::getStats() 查看执行了多少个语句,用了多少时间print_r(CDbConnection::getStats());