国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - phalcon model在插入或更新時會自動驗證非空字段的解決辦法

phalcon model在插入或更新時會自動驗證非空字段的解決辦法

2021-04-12 14:11咖喱土豆雞塊 PHP教程

這篇文章主要介紹了phalcon model在插入或更新時會自動驗證非空字段的解決辦法,需要的朋友可以參考下

對phalcom框架不了解的朋友可以點擊了解下。

phalcon框架使用指南

在使用phalcon的insert和update功能時,因為數據庫所有的字段設置的都是NOT NULL,而phalcon的model在插入或更新之前會自動判斷字段是否需要必填,因此導致有空字段時無法存入。

開始遇到這問題時,想到兩種解決方法:

一、改數據庫字段,把NOT NULL改為可以為空。

  但該數據庫還得去找DBA,而且為了性能,DBA要求一般沒有特殊情況,字段必須是NOT NULL,所以該方案否決。

二、給可以為空的字段設置默認值。

  想過各種默認值,覺得空格最符合,但是賦值空格后,數據庫里存的也會是空格,像一些empty和==''等判斷會失效,很可能會影響一些業務邏輯,想想,還是放棄該方案。

最后還是上網各種搜,phalcon的資料太少,百度根本搜不出來,最后轉戰google,功夫不負有心人,終于給我找到些蛛絲馬跡,最后再根據蛛絲馬跡找出來真正的解決方案。同樣有兩種,如下:

一、給可以為空的字段單獨設置規則

?
1
2
3
4
5
6
7
8
public function skipValidation($skipers=[])
 {
  foreach ($skipers as $skiper) {
   if (empty($this->$skiper)) {
    $this->$skiper = new \Phalcon\Db\RawValue('""');
   }
  }
 }

使用的時候:

?
1
2
3
4
public function beforeValidation()
{
  $this->skipValidation(['tag','source_url']);
}

這種方法可以完美解決問題,比較麻煩的是,需要設置每個可以為空的字段。

二、關閉phalcon對字段是否為空的判斷

?
1
2
3
4
5
public function initialize(){
 $this->setup(
  array('notNullValidations'=>false)
 );
 }

該方法直接把底層判斷字段是否為空的邏輯關閉了,可以一勞永逸的解決這個問題,缺點就是,自己前后臺得做好必填字段的判斷。

原文鏈接:http://www.cnblogs.com/sbman/archive/2016/12/29/6233676.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲美女性视频 | 在线观看中文字幕亚洲 | 婷婷91 | 欧美视频免费在线 | 午夜精品一区二区三区在线播放 | 这里只有精品在线播放 | 日韩欧美国产一区二区三区 | 午夜爱| 免费看的av | 日本成人一区 | 成av在线| 欧美成人不卡 | 久久精品欧美 | 一级片在线观看 | 九九porny88av | 欧美不卡一区二区三区 | 欧美中文一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 亚洲自拍偷拍综合 | 亚洲国产精品久久人人爱 | 欧美在线观看免费观看视频 | 在线播放亚洲 | 不卡一区二区三区四区 | 日韩精品中文字幕在线观看 | 中文字幕在线观看第一页 | 自拍视频一区 | 欧美午夜一区二区三区免费大片 | 欧美不卡视频 | 亚洲欧美日韩在线 | 亚洲在线电影 | 亚洲激情在线播放 | 涩涩久久 | 内地农村三片在线观看 | 精品国产青草久久久久福利 | 成人一区二区在线 | 亚洲福利在线播放 | www.亚洲 | 亚洲经典一区 | 国产一区二区精品久久 | 国产成人高清视频 | 亚洲91精品 |