猿问

Phalcon框架 使用原生Sql进行UPDATE出错

在Phalcon框架中,使用原生的sql语句,进行update操作时,
出现一个问题:
当要操作的数据库中有某一字段内容为空时,UPDATE就会出错?
这是怎么回事?有哪位大牛可以帮忙解答吗?
LEATH
浏览 360回答 2
2回答

幕布斯6054654

是这样的,Phalcon的ORM会默认开启几个特性,其中之一的notNullValidations特性是检测字段是否Notnull,所以你没填写相应字段的时候会抛异常.处理方法有2种,一种是修改数据库,另一种是关闭该特性,当然你也可以在程序逻辑中编写自动补全默认值的代码.一般来说字段设置NotNull肯定是有相应理由的,所以还是推荐把程序的逻辑写的健壮一点,而不是靠其他方式弥补编码上的失误.文档链接:1

BIG阳

提供一下相关代码供参考:phppublicfunctionskipValidation($skipers=[]){foreach($skipersas$skiper){if(empty($this->$skiper)){$this->$skiper=new\Phalcon\Db\RawValue('""');}}}使用的时候:phppublicfunctionbeforeValidation(){......$this->skipValidation(['tag','source_url']);......}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答