Heim > Backend-Entwicklung > PHP-Tutorial > Yii框架改动数据类型

Yii框架改动数据类型

WBOY
Freigeben: 2016-06-13 10:30:55
Original
987 Leute haben es durchsucht

Yii框架更改数据类型
之前数据库有个字段是数值型,我用YII的工具GII把它生成,model,conttroler,view等层。后来由于项需求,要把数值改为字符串,于是我就把数据库的数值型改为字符型(char型)。然后把model层的 rules()方法下的数组:array('AA,BB, ', 'numerical'),

改为:

array('AA,BB','length','max'=>20),

最后我输入字符提效数据时,出现如下的错误:

CDbException
列名必须是一个字符串或者数组 

D:\web_root\rd1039b\framework\db\schema\CDbCommandBuilder.php(701)

689 }
690 if(count($values)===1)
691 {
692 $entries=array();
693 foreach($values[0] as $name=>$value)
694 $entries[]=$prefix.$table->columns[$name]->rawName.($value===null?' IS NULL':'='.$value);
695 return implode(' AND ',$entries);
696 }
697 
698 return $this->createCompositeInCondition($table,$values,$prefix);
699 }
700 else
701 throw new CDbException(Yii::t('yii','Column name must be either a string or an array.'));
702 }
......
.......
......
.....
......
CActiveRecord->save() 
249 }
250  
251  
252 if (Yii::app()->user->ROLE==STUDY_USER_ROLE_PI){
253 $model->ENTRY2WHO= Yii::app()->user->USERNAME;
254 if ($model-> save())
255 {
256 if($SORT!=3){
257 $this->ToDo($Name,$MH1,$keyid);
258 }
259 else
.........
..........
........
.......
.
请问高手,这是什么原因呀?请帮忙,谢谢啊!!

------解决方案--------------------
690 if(count($values)===1) 这里 $values 就是 array('AA,BB','length','max'=>20), 吗? 如果是 , 那么count($values)===1 是 false 吧
------解决方案--------------------
无法查证具体的错误。

你可以去掉rules()。在试试,可不可以。如果可以用, 说明是你的rules()方法有问题。如果不可以用,说明是别的地方写的不对。

rules规则简单例子
public function rules()
{
return array(
array('name,email', 'length','max'=>6),
); 
}

这是具体的规则列表
http://blog.csdn.net/mengxiangbaidu/article/details/7002850

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage