在Phalcon框架中,使用原生的sql语句,进行update操作时,出现一个问题:当要操作的数据库中有某一字段内容为空时,UPDATE就会出错?这是怎么回事?有哪位大牛可以帮忙解答吗?
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
是这样的,Phalcon的ORM会默认开启几个特性,其中之一的notNullValidations特性是检测字段是否Notnull,所以你没填写相应字段的时候会抛异常.处理方法有2种,一种是修改数据库,另一种是关闭该特性,当然你也可以在程序逻辑中编写自动补全默认值的代码.一般来说字段设置NotNull肯定是有相应理由的,所以还是推荐把程序的逻辑写的健壮一点,而不是靠其他方式弥补编码上的失误.文档链接:1
BIG阳
TA贡献1859条经验 获得超6个赞
提供一下相关代码供参考:phppublicfunctionskipValidation($skipers=[]){foreach($skipersas$skiper){if(empty($this->$skiper)){$this->$skiper=new\Phalcon\Db\RawValue('""');}}}使用的时候:phppublicfunctionbeforeValidation(){......$this->skipValidation(['tag','source_url']);......}
添加回答
举报
0/150
提交
取消