php
  • yii
  • yii2
  • 2016-04-29 4 views -1 likes 
    -1

    を使用することはできません。私は面白い瞬間を見つけ /runtime/debugでログ:のYii 2は、私はいくつかのコードを持っているモデルの更新

    "UPDATE `SiteBlogPosts` SET `id`=5, `DateCreated`='2015-06-11', `Author`=1, 
        `Title`='We are improved build mode!', 
        `PreviewText`='<div class=\"post-content\">\r\n<p>Hi.</p>\r\n\r\n<p></p>\r\n\r\n<p>We are improved build mode! Also, we added simple Mirror Material Test.</p>\r\n\r\n<p><iframe height=\"350\" src=\"http://www.youtube.com/embed/FLQ4i_av7HM\" width=\"425\"></iframe></p>\r\n</div>\r\n', 
        `FullTextOfPost`='<div class=\"post-content\">\r\n<p>Hi.</p>\r\n\r\n<p></p>\r\n\r\n<p>We are improved build mode! Also, we added simple Mirror Material Test.</p>\r\n\r\n<p><iframe height=\"350\" src=\"http://www.youtube.com/embed/FLQ4i_av7HM\" width=\"425\"></iframe></p>\r\n</div>\r\n', 
        `CategoryID`=1 
    WHERE `id` IS NULL" 
    

    そうでない場合は、print_rショー:

    app\models\SiteBlogPosts Object 
    (
        [sqlCreateQuery] => 
        [_attributes:yii\db\BaseActiveRecord:private] => Array 
         (
          [id] => 5 
          [DateCreated] => 2015-06-11 
          [Author] => 1 
          [Title] => We are improved build mode! 
          [PreviewText] => <div class="post-content"> 
    <p>Hi.</p> 
    
    <p></p> 
    
    <p>We are improved build mode! Also, we added simple Mirror Material Test.</p> 
    
    <p><iframe height="350" src="http://www.youtube.com/embed/FLQ4i_av7HM" width="425"></iframe></p> 
    </div> 
    

    それはWHERE id IS NULLの代わりWHERE id = 5を使用なぜ?

    ありがとうございました!

    +0

    なぜasArrayを使用しますか? –

    答えて

    0

    ソリューション:

    public function actionEditpost($id) { 
         $model = SiteBlogPosts::find()-> 
           where(["id" => $id])-> 
           one(); 
    
         $cats = SiteBlogCats::find()->where(["CatIsActive" => 1])->asArray()->all(); 
    
    
         if ($model->load(Yii::$app->request->post())) { 
    
          if ($model->validate()) { 
           $model->update(); 
    //    print_r($model); 
    //    die; 
           return $this->render('EditPost', ['cats' => $cats, 
              "model" => $model, 
           ]); 
          } 
         } else { 
          return $this->render('EditPost', ['cats' => $cats, 
             "model" => $model, 
          ]); 
         } 
        } 
    
    +0

    あなたのモデル 'SiteBlogPosts'の完全な内容は何ですか? idを 'rules()'の必須フィールドとして追加してみてください: '[['id']、 'required']、 –

    0

    Yii2 ActiveRecordのデフォルトの使用テーブルの主キーとしてID

    あなたはIDを設定することはできません。

    $model->id = $post['id']; 
    

    あなたがあなたのSiteBlogPostsモデルに次のコードを使用してyii2デフォルトのプライマリ列を変更することができ、他の主キーを持っている場合。

    public static function primaryKey() 
    { 
        return "your_column"; 
    } 
    
    関連する問題