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


PHP Base_model::find方法代碼示例

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


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

示例1: find

 public function find($cond = array(), $select = '', $return_dyadic_array = FALSE)
 {
     //{{{
     $this->_CI->load->model('User', 'user_m', TRUE);
     $this->_CI->load->model('Scheme', 'scheme_m', TRUE);
     $retweets = parent::find($cond, $select, TRUE);
     if (empty($retweets)) {
         return array();
     }
     //獲取的 $retweets 就是按 retweet_id 的升序排列
     //隻需要在遍曆時 查詢餘下部分是否有包含相同 scheme_id 的
     //數據並清除之便可
     //@todo 為了節約時間 可以利用的優勢就是 返回的集合不需要是有序的 ( 因為之後還會再按照時間排序 )
     foreach ($retweets as $i => $retweet) {
         //@todo 一切都是為了所謂的合並轉發 此算法有改進的餘地 起碼不必每次都計算 sizeof
         if (sizeof($retweets) > 1) {
             //標誌是否已經刪除了某條記錄
             $has_unset = FALSE;
             //取餘下的數組
             array_walk(array_slice($retweets, $i), function ($value, $key) use(&$retweets, $retweet, $i, &$has_unset) {
                 if ($retweet['scheme_id'] === $value['scheme_id']) {
                     //有重複 刪除當前的( 下標為$i ) 的記錄
                     unset($retweets[$i]);
                     $has_unset = TRUE;
                 }
             });
             if ($has_unset === TRUE) {
                 continue;
             }
         }
         $prev_retweet_id = $retweet['prev_retweet_id'];
         if (is_numeric($prev_retweet_id) && $prev_retweet_id > 0) {
             //有效的 prev_retweet_id 意味著是 二轉 或以上
             //此處如果調用本函數的話 會形成一個遞歸 獲取完整的轉發鏈
             //但是目前(隻使用二轉的情況)是沒有必要的
             $prev_retweet = parent::find(array('retweet_id' => $prev_retweet_id));
             //此處的斷言是 prev_retweet 信息是一定存咋的 若不存在 則需要觸發一個異常
             if (empty($prev_retweet)) {
                 throw new Exception('通過有效的 prev_retweet_id 獲取了一個空的 retweet.[prev_retweet_id=' . $prev_retweet_id . ']');
             }
             //獲取相關用戶信息
             $prev_retweet_user = $this->_CI->user_m->find(array('user_id' => $prev_retweet['retweeter_id']));
         } else {
             //無效的 prev_retweet_id 意味著是一轉
             //"轉發自"用戶信息就是方案的所有用戶
             $scheme = $this->_CI->scheme_m->find(array('scheme_id' => $retweet['scheme_id']));
             $prev_retweet_user = $scheme['holder'];
         }
         //獲取當前 retweeter 用戶的信息
         $retweets[$i]['retweeter'] = $this->_CI->user_m->find(array('user_id' => $retweet['retweeter_id']));
         $retweets[$i]['prev_retweet_user'] = $prev_retweet_user;
         $retweets[$i]['formated_time'] = $this->format_time($retweet['time']);
     }
     if ($return_dyadic_array == FALSE && sizeof($retweets) == 1) {
         return array_shift($retweets);
     }
     return $retweets;
 }
開發者ID:nnrv1ncentsh1,項目名稱:MADA,代碼行數:58,代碼來源:retweet.php

示例2: get_user_id_by_nick

 public function get_user_id_by_nick($user_nick = '')
 {
     //{{{
     $user_id = NULL;
     if (!empty($user_nick)) {
         $user_info = parent::find(array('nick' => $user_nick));
         if (empty($user_info)) {
             throw new Exception("查找的用戶 nick 不存在,但是其方案信息卻存在於用戶頁麵上. user_nick=[{$user_nick}]");
         }
         if (sizeof($user_info) > 1) {
             throw new Exception("查找的用戶 nick 在數據庫中存在多條記錄. user_nick=[{$user_nick}]");
         }
         $user_id = $user_info['user_id'];
     }
     return $user_id;
 }
開發者ID:nnrv1ncentsh1,項目名稱:MADA,代碼行數:16,代碼來源:user.php

示例3: get_expire_time

 public function get_expire_time($scheme_id)
 {
     //{{{
     $this->_CI->config->load('scheme');
     $expire_time = $this->_CI->config->item('expire_time');
     $scheme = parent::find(array('scheme_id' => $scheme_id));
     if (empty($scheme)) {
         return -1;
     }
     //獲取方案 發布/轉發 時間
     $time = strtotime($scheme['time']);
     return date('Y-m-d h:i:s', $time + $expire_time);
 }
開發者ID:nnrv1ncentsh1,項目名稱:MADA,代碼行數:13,代碼來源:scheme.php


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