私は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- model で画像の動的プロパティを宣言しますが、親で __set 関数を定義すると、同じエラーが発生します。
2- 保護されたプロパティを定義しますが、 CUploadedFile::getInstance($model,'image') 要件 public property , 結果として、エラー :( :D を取得します。
質問 :
1-上記の問題について、どうすればよいですか?
2-クラスで属性パブリックプロパティを取得する代わりに、mongodbsuiteで独自の属性を定義する方法はありますか?
下手な英語でごめんなさい
すべてのtnx