2017-10-04 9 views
0

양식을 처리하고 양식의 데이터를 저장하려면 db를 사용하십시오. 저장하기 전에 양식과 일부 데이터를 가져 오려고합니다 (현재 user_id, 현재 datetime과 같습니다).왜 데이터가 저장되지 않습니까?

public function actionCreate() 
    { 
     $model = new Post(); 
     if ($model->load(\Yii::$app->request->post()) && $model->validate()) { 
      $model->user_id = \Yii::$app->user->getId(); 
      $model->created_at = \Yii::$app->formatter->asDate(new \DateTime(),'php:Y-m-d'); 
      $model->image = UploadedFile::getInstance($model, 'image'); 
      if($model->upload()) { 
       $model->image = ('web/images/' . $model->image->baseName . '.' . $model->image->extension); 
      } else { 
       $model->image = 0; 
      } 
      $model->save(); 
      return $this->redirect(['site/blog']); 
     } else { 
      return $this->render('blog/create', ['model' => $model]); 
     } 
    } 

을 내 포스트 모델 : 나는 컨트롤러의 방법을 만든

class Post extends ActiveRecord 
{ 
    public $title; 
    public $text; 
    public $image; 
    public $comments; 

    public function rules() 
    { 
     return [ 
      [['title', 'text'], 'required'], 
      [['image'], 'file', 'extensions' => 'png, jpg'], 
     ]; 
    } 
    public function upload() 
    { 
     if ($this->image->saveAs(\Yii::getAlias('@app') .'\web\images\\' . $this->image->baseName . '.' . $this->image->extension)) 
      return true; 
     else { 
      return false; 
     } 
    } 
    public function getUser() 
    { 
     return $this->hasOne(User::className(),['id' => 'user_id']); 
    } 
} 

하지만 난 단지 USER_ID 내 양식을 보낼 때 지금, created_at은 내 DB에 저장. 내가 뭘 잘못 했니?

+0

이것은'$ model-> image = 0' 때문에 발생할 수 있으며, 이것은 업로드에서'false' 응답의 원인 일 수 있습니다. –

+0

'$ model-> save();'가 실패하면 뷰를 ('blog/create', [ 'model'=> $ model]))') – gmc

+0

오류보고를 활성화하고 /하거나 로그 파일을 점검하여 문제를 추적하십시오. 파일의 업로드를 실패로 만드는 경로의 이중 슬래시일까요? '\ web \ images \\''? 대신 슬래시를 사용하는 것도 좋습니다. 'web \ images' 폴더가 웹 서버에 의해 쓰기 가능하도록해야합니다. – Cyclonecode

답변

2

제거하기 : 모델에서

public $title; 
public $text; 
public $image; 
public $comments; 

. 그게 다야. ActiveRecord는 테이블의 열을 자동으로 매핑합니다.

+0

그게 효과가! 고맙습니다! – Rosti

+0

좋은 하루 되세요! ;) – Yupik

관련 문제