2015-08-13 11:44:35 2915次浏览 1条回答 0 悬赏 10 金钱
public function actionUpdate($id)
{
    $this->addPath('update'); //设置页面路径
    $this->addBtn(['新增' => ['create']]); //添加新增按钮

    $model = $this->findModel($id);

    $model->trade_ids =  array_filter(explode(',', $model->trade_ids));

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->succ();
    } else {
        return $this->renderForm('form', [
            'model' => $model,
        ]);
    }
}

如何把行业字段trade_ids 的数组转化成字符串存储到数据库中,并且不破坏yii自带的判断功能??
行业在视图中是复选框格式显示

if ($model->load(Yii::$app->request->post()) && $model->save()) {
    return $this->succ();
}
  • 回答于 2015-08-13 17:44 举报

    可考虑用json_encode($a)序列化成字符串保存,以后可以用$a = (array)json_decode($model->trade_ids)还原成数组。

    4 条回复
    回复于 2015-08-14 09:21 回复
    if ($model->load(Yii::$app->request->post()) ) {
        $model->trade_ids = implode(',',$_POST['Articles']['trade_ids']);
        $model->trade_ids = '24,25';   这种字符串是修改不了的, $model->trade_ids = '24';这样是可以的
        if($model->save()){
            return $this->succ();
        }else{
            echo '错误';
        }
    }
    
    回复于 2015-08-14 09:47 回复

    不太明白你的意思,是在说模型的验证规则问题吗?

    回复于 2015-08-14 09:52 回复

    看了你在#1182的提问,模型把'24,25'当成数组了,所以还是建议用我说的方法转成json字符串再保存。

    回复于 2015-08-14 10:04 回复
您需要登录后才可以回答。登录 | 立即注册
辰枫夜雨
助理

辰枫夜雨

注册时间:2015-08-11
最后登录:2017-06-23
在线时长:18小时59分
  • 粉丝10
  • 金钱0
  • 威望0
  • 积分180

热门问题