2017-03-16 14:50:03 1876次浏览 7条回答 0 悬赏 10 金钱

public function actionAdd(){

    $borrow_model = new Borrow();
    $state[1] = '借阅中';
    $state[2] = '已归还';
    $state[3] = '逾期';
    if(isset($_POST['Borrow'])){
        $bookid = $_POST['Borrow']['bookId'];
        $bookName = $borrow_model->findByPk($bookid);
        $name = $bookName -> info;
        $_POST['Borrow']['bookName'] = $name[0]['bookName'];
        foreach($_POST['Borrow'] as $_k=>$_v){
            $borrow_model -> $_k = $_v;
        }
        if($borrow_model->save()){
            $this->redirect('./index.php?r=Borrow/borrow');
        }
    }
    $this->renderPartial('addBorrow',array('borrow_model'=>$borrow_model,'state'=>$state));
}

存入数据库自动变成1,为啥?

  • 回答于 2017-03-16 14:59 举报

    >??????

  • 回答于 2017-03-16 15:12 举报

    你这个是不是数据库设成了int类型?

  • 回答于 2017-03-16 15:43 举报

    $_POST['Borrow']['bookName'] = $name[0]['bookName'];
    哇,还能这样

  • 回答于 2017-03-16 17:45 举报

    print_r($borrow_model->errors); 打印一下写入错误

  • 回答于 2017-03-17 09:37 举报

    这程序看上去怎么那么的不堪入目呢。

  • 回答于 2017-03-17 09:54 举报

    更新一下:
    我估计你可能没搞清楚HTML中 option的value和内容的含义吧,你看到的是内容,post过来的是value,你先查查这个吧。

    另外:你这个代码确实算是入门级别,有几处明显的不应该或者不合适的地方,$_POST直接赋值、$bookName这个也不应该直接用$borrow_model直接findByPk。

  • 回答于 2017-03-23 11:52 举报

    var_dump($borrow_model->save()) //false I guess
    var_dump($borrow_model->errors) // error array

您需要登录后才可以回答。登录 | 立即注册
ldc
试用期

ldc

注册时间:2017-03-09
最后登录:2017-03-24
在线时长:1小时4分
  • 粉丝0
  • 金钱35
  • 威望0
  • 积分45

热门问题