zoukankan      html  css  js  c++  java
  • thinkphp3.2.3 自动验证 unique 出错的解决办法

    场景:修改数据时,唯一验证name字段出错,提示已存在。

    排查:

      1.传入的参数是否包含主键,因为 D('模型名')->create() 会自动判断是否是新增或者修改,根据传入的参数判断是否包含主键,如果包含主键则认为修改。

      2.修改请求是否是post类型,因为D('模型名')->create() 自动检查post参数,如果不是post,请传入 D('模型名')->create($data).  $data是你包含主键[id]和要修改的数据内容

      3.如果主键[id]是通过url请求过来的[get],那么如果使用官方的 getData() 方法获取数据则有可能获取不到主键,建议直接接收post,主键再添加进入 $post['id'] = I('get.id')

      4.检查自己设定验证时间是否正确,1 新增 2 修改 3 全部验证,[这里一定是填写3],因为如果是修改,tp3不会验证本条数据,只是判断其他数据行是否存在相同数据

      5.是否在模型内设置 protected $insertFields protected $updateFields  , 如果包含主键id或其他需要的字段名,自动验证过后则会踢出不包含给定字段的其他数据

      6.检查自己代码,变量等等是否编写正确,请求url是否编写正确

    总结:

      细心,多看文档,多百度.

      

        

  • 相关阅读:
    如何获取显示器的EDID信息
    VGA
    RK3288 GMAC整理
    基于嵌入式Linux的千兆以太网卡驱动程序设计及测试
    module_param和module_param_array用法
    OSI七层协议模型、TCP/IP四层模型学习笔记
    999
    git
    最小生成树 (Minimum Spanning Tree,MST) --- Kruskal算法
    并查集 (Disjoint Set)
  • 原文地址:https://www.cnblogs.com/xiaqiuchu/p/10603615.html
Copyright © 2011-2022 走看看