fields not exists:[submit]

作者: xahy 分类: 笔记 发布时间: 2019-07-26 13:32

tp5 使用 model 的 save 方法时,

传入的数组参数中如果包含表中不存在的字段时会报 fields not exists:[submit] 的错误。

对于这一问题的解决方案,

框架本身也给提供了过滤字段的支持,

只需要在操作的时候调用 allowField(true)方法即可,

表示传递的数组中某个字段在表中不存在就会过滤掉。

 

参考代码demo:

<?php
namespace app\common\model;

use think\Model;

class AdminUser extends Model
{

    /***
     * 新增
     * @param $data
     * @return mixed
     */
    public function add($data){
        ///判断参数格式
        if(! is_array($data)){
            exception("参数格式不正确");
        }
        ///allowField 声明为true表示传递的数组中某个字段在表中不存在就会过滤掉,不过滤就会报错
        $this->allowField(true)->save($data);
        ///返回新增的dbid
        return $this->id;
    }
    
}

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注