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


PHP DBModel::model方法代碼示例

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


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

示例1: model

 /**
  * Returns the static model of the specified AR class.
  * @return CActiveRecord the static model class
  */
 public static function model($className = __CLASS__)
 {
     return parent::model($className);
 }
開發者ID:chenyongze,項目名稱:d-a-m,代碼行數:8,代碼來源:Log.php

示例2: getFind

 /**
  * 根據表名獲取記錄
  * @param $tname	string	表名(可以是由item虛化出來的,如“item_nnhysj_tz”)
  * @return 記錄總數
  */
 public function getFind($tname)
 {
     $ts = $this->parseRealTable($tname);
     if ($this->beforeFind()) {
         $this->applyScopes($ts['criteria']);
         $rows = DBModel::model()->getDb()->selectCollection($ts['name'])->find($ts['criteria']->getConditions());
     }
     return $rows;
 }
開發者ID:chenyongze,項目名稱:d-a-m,代碼行數:14,代碼來源:DBModel.php

示例3: actionSynJStoDB

 /**
  * 同步json數據到相應數實體表
  * 用來使用js更新表數據,操作需謹慎
  * 普通索引: 	index{"RealCost":1},[]
  * 唯一索引:	index{"ItemShopTags":1},{"unique":true}
  * 新數據:		{"_id":"item_blink","ItemShopTags":["傳送"],"Lines":[],"RealCost":2150,"Category":"奧術"}
  * 更新數據:	{"_id":"item_blink"},{"$set":{"ItemShopTags":["傳送","防具"]}}
  */
 public function actionSynJStoDB()
 {
     $js_id = isset($_GET['id']) ? $_GET['id'] : '';
     //待同步文件名路徑
     $file = File::model()->findByPk(new MongoId($js_id));
     if (!$file) {
         throw new CHttpException(404, '該數據文件不存在。');
     }
     $js_name = pathinfo($file->metadata['name']);
     //真實文件名
     $js_name = $js_name['filename'];
     $exers = array('i' => array(0, 0), 'a' => array(0, 0), 'u' => array(0, 0));
     if ($file) {
         $id_info = explode('-', $js_name);
         //剔除文件名中的日期
         //			foreach($id_info as $namekey=>$namevo){
         //				if(preg_match('/^\d{14}$/i', $namevo)){
         //					unset($id_info[$namekey]);
         //					$cname = implode('-', $id_info);
         //				}
         //			}
         //確認集合名稱
         if ($id_info > 1) {
             $tables = $this->_listCollections(DBModel::model()->getDb());
             foreach ($id_info as $namevo) {
                 //集合名稱:當前庫中存在該集合或者以‘item_’開頭
                 if (isset($tables[$namevo])) {
                     $cname = $namevo;
                     break;
                 }
             }
         }
         //獲取並執行導入新數據
         $body = $file->getBytes();
         //獲取文件內容
         $lines = preg_split('/(\\r\\n|\\n)/i', $body);
         //每行作為一個語句
         //若僅為集合名稱,則清空該集合內容,修改為獨立操作
         //if(count($id_info)==1){
         //	CardItem::model()->getDb()->selectCollection($cname)->remove();	//drop會刪除集合,remove僅清空記錄
         //}
         //循環進行插入/更新/創建索引
         foreach ($lines as $line) {
             $line = trim($line);
             if (!empty($line)) {
                 //判定是否為索引,若是則創建,否則作為普通數據直接插入
                 if (substr($line, 0, 5) == 'index') {
                     //索引記錄以index字符串開頭
                     //$exe_query = 'ensureIndex(o)';
                     $line = substr($line, 5);
                     //$exe_query = 'ensureIndex(o)';
                     $ret = DBModel::model()->getDb()->selectCollection('system.indexes')->insert((array) json_decode($line));
                     $exers['i'][$ret]++;
                     //記錄執行結果
                     //判斷是否是更新
                 } else {
                     if (preg_match('/^\\{"_id":"[0-9a-z_-]+"\\},/i', $line)) {
                         $line = explode('},{"$set":', $line);
                         if (isset($line[1])) {
                             $update_where = (array) json_decode($line[0] . '}');
                             if (preg_match('/^[a-z0-9]{24}$/', $update_where['_id'])) {
                                 $update_where['_id'] = new MongoId($update_where['_id']);
                             }
                             $ret = DBModel::model()->getDb()->selectCollection($cname)->update($update_where, (array) json_decode('{"$set":' . $line[1]));
                             $exers['u'][$ret]++;
                         }
                         //其餘為插入
                     } else {
                         //$exe_query = 'insert(o)';
                         $line = (array) json_decode(preg_replace('/\\{.?"\\$oid".?:.?("[0-9a-z]+")[^}]?\\}/i', '\\1', $line));
                         //轉為普通字符串
                         //重新構造MongoId的_id
                         if (preg_match('/^[a-z0-9]{24}$/', $line['_id'])) {
                             $line['_id'] = new MongoId($line['_id']);
                         }
                         $ts = DBModel::model()->parseRealTable($cname);
                         $ret = DBModel::model()->getDb()->selectCollection($ts['name'])->insert($line);
                         $exers['a'][$ret]++;
                     }
                 }
             }
         }
     }
     $this->redirect_back(array('exers' => $exers['i'][0] . '#' . $exers['i'][1] . '#' . $exers['a'][0] . '#' . $exers['a'][1] . '#' . $exers['u'][0] . '#' . $exers['u'][1]));
     //返回上一頁
     /* 	參考代碼
     			db.getCollection("game").ensureIndex({
     			  "code": NumberInt(1)
     			},[]);
     			db.getCollection("game").insert({
     			  "_id": ObjectId("516140719b2a952c14000000"),
     			  "name": "Dota2",
//.........這裏部分代碼省略.........
開發者ID:chenyongze,項目名稱:d-a-m,代碼行數:101,代碼來源:DumpController.php

示例4: foreach

    width: 100%;
}
-->
</style>
<form method="post" action="/dump/export">
	<ul class="list">
		<?php 
if (empty($tables)) {
    ?>
			數據庫為空
		<?php 
} else {
    ?>
			<?php 
    foreach ($tables as $en_name => $name) {
        $rows = DBModel::model()->getCount($en_name);
        ?>
				<li>
					<label>
						<input type="checkbox" class="all_input" name="checked[]" value="<?php 
        echo $en_name;
        ?>
" <?php 
        if (in_array($name, $selectedTables)) {
            ?>
checked="checked"<?php 
        }
        ?>
/> 
						<b><?php 
        echo $name;
開發者ID:chenyongze,項目名稱:d-a-m,代碼行數:31,代碼來源:export.php


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