刚才试验性的将项目迁移到1.1.0版本,遇到几个问题跟大家分享,对想迁移到1.1.0版的朋友可能会有所帮助。
另外也欢迎大家分享自己的迁移经验,让后来的朋友少走弯路。
下面是我目前遇到的两个问题,比较典型。
AR消除二义性的变动
在两个表做with操作时,1.0.x可以在sql语句中用??或直接写表名来指明字段所属的表,而1.1.0变为用t表示主表,with里的变量名(关系引用名)表示其他表
详情请看 http://www.yiiframework.com/doc/guide/database.arr 中Disambiguating Column Names一节
CModel.validate()方法的变化
1.0.x的中,该方法的原型为
public boolean validate(string $scenario=’’, array $attributes=NULL)
http://www.yiiframework.com/doc/api/1.0.11/CModel#validate-detail
1.1.0中,该方法的原型为
public boolean validate(array $attributes=NULL)
http://www.yiiframework.com/doc/api/CModel#validate-detail
1.0.x中的使用方法通常是
$userForm->validate(‘login’);
到1.1.0里就不能这么用了,可以用如下方式代替
$userForm->scenario = ‘login’;
$userForm->validate();