當前位置: 首頁>>代碼示例>>PHP>>正文


PHP XDB::runTransaction方法代碼示例

本文整理匯總了PHP中XDB::runTransaction方法的典型用法代碼示例。如果您正苦於以下問題:PHP XDB::runTransaction方法的具體用法?PHP XDB::runTransaction怎麽用?PHP XDB::runTransaction使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在XDB的用法示例。


在下文中一共展示了XDB::runTransaction方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: process

 public function process(&$global_success)
 {
     $global_success = true;
     $this->fetchData();
     foreach ($this->settings as $field => &$setting) {
         $success = false;
         if (!is_null($setting)) {
             $this->values[$field] = $setting->value($this, $field, Post::v($field, ''), $success);
         } else {
             $success = true;
             $this->values[$field] = Post::v($field, '');
         }
         $this->errors[$field] = !$success;
         $global_success = $global_success && $success;
     }
     if ($global_success) {
         if ($this->checkChanges()) {
             /* Save changes atomically to avoid inconsistent state
              * in case of error.
              */
             if (!XDB::runTransaction(array($this, 'saveData'))) {
                 $global_success = false;
                 return PlWizard::CURRENT_PAGE;
             }
             $this->markChange();
         }
         // XXX: removes this code once all merge related issues have been fixed.
         static $issues = array(0 => array('name', 'promo', 'phone', 'education'), 1 => array('address'), 2 => array('job'));
         if (isset($issues[Post::i('valid_page')])) {
             foreach ($issues[Post::i('valid_page')] as $issue) {
                 XDB::execute("UPDATE  profile_merge_issues\n                                     SET  issues = REPLACE(issues, {?}, '')\n                                   WHERE  pid = {?}", $issue, $this->pid());
             }
         }
         return Post::has('next_page') ? PlWizard::NEXT_PAGE : PlWizard::CURRENT_PAGE;
     }
     $text = "Certains champs n'ont pas pu être validés, merci de corriger les informations " . (S::user()->isMe($this->owner) ? "de ton profil et de revalider ta demande." : "du profil et de revalider ta demande.");
     Platal::page()->trigError($text);
     return PlWizard::CURRENT_PAGE;
 }
開發者ID:Ekleog,項目名稱:platal,代碼行數:39,代碼來源:page.inc.php


注:本文中的XDB::runTransaction方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。