2015-10-10 19:18:33 4544次浏览 6条回答 0 悬赏 10 金钱
$model=new Site();
if($model->load(Yii::$app->request->post()) && $model->validate()){
    $id=1;
    $site=Site::findOne($id);

    $site->title='123';
    var_dump($site);
    $site->save();
}

代码如上,不能更新tilte,这是为啥呀,新手求大神

  • 回答于 2015-10-10 20:08 举报

    $site->save(); 这一行之后, 打印一下错误信息 : var_dump($site->getErrors());

    2 条回复
    回复于 2015-10-10 20:21 回复

    没有错误信息呀,加上if判断,执行成功的

            if(!$site->save()){
                var_dump($site->errors);
            }else{
                echo 'sdf';
            }
    
    回复于 2015-10-12 10:22 回复

    還是你 DB 的 TYPE 跟 MODEL 不一樣?

  • 回答于 2015-10-11 06:13 举报

    用 $site->update() 而不是 $site->save()

  • 回答于 2015-10-11 15:35 举报

    检查rules

  • 回答于 2015-10-13 09:16 举报

    ###$model->validate())你这里调用了Rules()验证,验证规则不合适的话,也保存不了的

  • 回答于 2018-05-22 11:45 举报

    表单的数据保存到model中了,你最后save的是site的数据

  • 回答于 2018-07-30 10:59 举报

    楼主最后解决了吗

您需要登录后才可以回答。登录 | 立即注册
hkch
职场新人

hkch

注册时间:2014-01-25
最后登录:2018-10-31
在线时长:7小时28分
  • 粉丝2
  • 金钱5
  • 威望0
  • 积分75

热门问题