如何更改YII cactiverecord模型的特定符号属性? 不明白为什么它不起作用:
echo $model->attr; // aaa
$model->attr[1] = 'b';
echo $model->attr; // aaa
答案 0 :(得分:1)
使用substr_replace
功能:
echo $model->attr; // aaa
$model->attr = substr_replace($model->attr, 'b', 1, 1);
echo $model->attr; // aba
http://www.php.net/manual/en/function.substr-replace.php
您也可以使用这种方法:
$newValue = $model->attr[1] = 'b';
$model->attr = $newValue;
echo $model->attr; // aba
您的示例无效,因为实际$this->AttributeName
执行CActiveRecord::getAttribute('AttributeName')
method并且不会影响原始值。