سلام !
این Aliase من :
'aliases' => [
'@upload' => '@frontend/upload',
]
این Model من هستش برای آپلود :
<?php
namespace frontend\models;
use Yii;
use yii\web\UploadedFile;
class Register extends \yii\db\ActiveRecord{
public $avatar;
public function rules(){
return [
[['firstName','lastName','userName','passWord','mail'],'required'],
[['firstName','lastName'],'string'],
['passWord','integer'],
['mail','email'],
[['avatar'],'file','skipOnEmpty' => true,'extensions' => 'png,jpg,jpeg,gif']
];
}
public function upload(){
$this->avatar->saveAs(Yii::getAlias('@upload').'/'.$this->avatar->baseName.'.'.$this->avatar->extension);
}
public function attributeLabels(){
return [
'firstName' => Yii::t('app','نام'),
'lastName' => Yii::t('app','نام خانوادگی'),
'userName' => Yii::t('app','نام کاربری'),
'passWord' => Yii::t('app','رمز عبور'),
'firstName' => Yii::t('app','نام'),
'mail' => Yii::t('app','رایانامه'),
'avatar' => Yii::t('app','چهرک')
];
}
}
این هم کنترلر من :
public function actionRegister(){
$model = new Register();
if($model->load(Yii::$app->request->post()) && $model->validate()){
$model->avatar = UploadedFile::getInstance($model,'avatar');
if($model->save()){
$model->upload();
return $this->render('_showResult',['model' => $model]);
}
}else{
return $this->render('_register',['model' => $model]);
}
}
ولی این ارور رو می ده : Call to a member function saveAs() on a non-object
مشکل از چیست دوستان ؟