我在 yii 框架中使用 mongodb 套件,将 CUploadedFile 分配给公共属性图像类模型时,出现错误:
MongoException
zero-length keys are not allowed, did you use $ with double quotes?
/var/www/html/bablog/protected/extensions/YiiMongoDbSuite/EMongoDocument.php(611)
模型类:
...
public function rules() {
return array(
...
array('image', 'file',
'types'=>'jpg,jpeg, png' ,
'mimeTypes' => 'image/jpeg , image/pjpeg,image/png' ,
'safe'=>true,
'maxFiles' => 1 ,
'maxSize' => 1024 ,
'minSize' => 100 ,
),
);
}
添加代码:
echo '<pre>';
print_r(CUploadedFile::getInstance($model,'image'));
die();
输出:
CUploadedFile Object
(
[_name:CUploadedFile:private] => download.jpg
[_tempName:CUploadedFile:private] => /tmp/phpC8GRRt
[_type:CUploadedFile:private] => image/jpeg
[_size:CUploadedFile:private] => 530
[_error:CUploadedFile:private] => 0
[_e:CComponent:private] =>
[_m:CComponent:private] =>
)
尝试 :
1- 在模型中声明图像动态属性,但在父级中定义 __set 函数再次得到相同的错误。
2-定义受保护的属性,但 CUploadedFile::getInstance($model,'image') 需要公共属性,结果,得到错误:(:D。
问题 :
1-对于上述问题,我该怎么办?
2-有什么方法可以在 mongodbsuite 中定义我们自己的属性,而不是在类中获取属性公共属性?
对不起我的英语不好
所有人的 tnx