ホームページ > バックエンド開発 > PHPチュートリアル > CI フレームワークでの AR 操作、ciar_PHP チュートリアル

CI フレームワークでの AR 操作、ciar_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:07:35
オリジナル
867 人が閲覧しました

CIフレームワークでのAR操作、ciarのコードの一部

モデル層

リーリー

CI の DB_active_rec.php クラスの一部のメソッドのアノテーション (引き続き追加されます)

CI フレームワークでの AR 操作、ciar_PHP チュートリアル 1 php 2 クラス CI_DB_active_record 3 { 4 /** 5 *ゲット 6 * @author zhaoyingnan 2015-10-14 12:50 7 * @param string $table 操作対象のテーブル 8 * @param int $limit 制限値 9 * @param int $offset オフセット値 10 * @return オブジェクト 11 **/ 12 public function get($table = '', $limit = null, $offset = null) 13 {} 14 15/** 16 * get_where 17 * @著者 zhaoyingnan 2015-10-14 12:58 18 * @param string $table 操作対象のテーブル 19 * @param array $where where 句 20 * @param int $limit 制限値 21 * @param int $offset オフセット値 22 * @return オブジェクト 23 **/ 24 public function get_where($table = '', $where = null, $limit = null, $offset = ) 25 {} 26 27/** 28 * 選択 29 * @著者 zhaoyingnan 2015-10-14 13:13 30 * @param string $select クエリ フィールド (カンマ区切り) 31 * @param boolean $escape FALSE に設定すると、CodeIgniter はフィールド名またはテーブル名を保護するためにバッククォートを使用しません。これは、複合クエリを作成するときに便利です。 32 * @return オブジェクト 33 **/ 34 public function select($select = '*', $escape = NULL) 35 {} 36 37/** 38 * クエリの SELECT MAX(field) 部分* @description 39 * @著者zhaoyingnan 2015-10-14 13:20 40 * @param string $select max(field) 作用列 41 * @param string $alias 别名 42 * @return オブジェクト 43 **/ 44 public function select_max($select = '', $alias = '') 45 {} 46 47 /** 48 * クエリの SELECT MIN(field) 部分 49 * @著者zhaoyingnan 2015-10-14 13:20 50 * @param string $select min(field) 作用列 51 * @param string $alias 别名 52 * @return オブジェクト 53 **/ 54 public function select_min($select = '', $alias = '') 55 {} 56 57 /** 58 * クエリの SELECT AVG(field) 部分 59 * @著者zhaoyingnan 2015-10-14 13:20 60 * @param string $select AVG(field) 作用列 61 * @param string $alias 别名 62 * @return オブジェクト 63 **/ 64 public function select_avg($select = '', $alias = '') 65 {} 66 67 /** 68 * クエリの SELECT SUM(field) 部分 69 * @著者zhaoyingnan 2015-10-14 13:20 70 * @param string $select SUM(field) 作用列 71 * @param string $alias 别名 72 * @return オブジェクト 73 **/ 74 public function select_sum($select = '', $alias = '') 75 {} 76 77 78 /** 79 * @description 80 * @著者 zhaoyingnan 2015-10-14 13:26 81 * @param string $from 表名 82 * @return オブジェクト 83 **/ 84 パブリック 関数 from($from) 85 {} 86 87/** 88 * ここで 89 * @author zhaoyingnan 2015-10-14 13:31 90 * @param mix $key は配列のキー値を渡します 91 * @param mix $value は配列のキーに対応する値を渡します 92 * @return オブジェクト 93 **/ 94 public function where($key, $value = NULL, $escape = TRUE) 95 { 96 //1、単純なキー/値メソッド: 97 //$this->db->where('name', $name); 98 //生成: WHERE name = 'ジョー' 99 100 //2. カスタムキー/値メソッド: 101 //$this->db->where('name !=', $name); 102 //$this->db->where('id <', $id); 103 //生成: WHERE name != 'Joe' AND id < 45 104 105 //3. 連想配列メソッド: 106 //$array = array('name' => $name, 'title' => $title, 'status' => $status); 107 //$this->db->where($array); 108 //生成: WHERE 名前 = 'ジョー' AND タイトル = 'ボス' AND ステータス = 'アクティブ' 109 //このメソッドを使用するときに演算子を含めることもできます。 110 //$array = array('name !=' => $name, 'id <' => $id, 'date >' => $date); 111 112 //4. カスタム文字列: 113 //$where = "名前='ジョー' AND ステータス='ボス' OR ステータス='アクティブ'"; 114 //$this->db->where($where); 115 return $this->_where($key, $value, 'AND ', $escape); 116 } 117 118 /** 119 * ここで 120 * @author zhaoyingnan 2015-10-14 13:31 121 * @param mix $key は配列のキー値を渡します 122 * @param mix $value は配列のキーに対応する値を渡します 123 * @return オブジェクト 124 **/ 125 public function or_where($key, $value = NULL, $escape = TRUE) 126 { 127 //参照先 128 return $this->_where($key, $value, 'OR ', $escape); 129 } 130 131 132 /** 133 * where_in 134 * @著者zhaoyingnan 2015-10-14 13:58 135 * @param string $key クエリ対象の列 136 * @param string $values 列の値の範囲 137 * @return オブジェクト 138 **/ 139 public function where_in($key = NULL, $values = NULL) 140 { 141 return $this->_where_in($key, $values); 142 }143 144 /** 145 * or_where_in 146 * @著者zhaoyingnan 2015-10-14 13:58 147 * @param string $key クエリ対象の列 148 * @param string $values 列の値の範囲 149 * @return オブジェクト 150 **/ 151 public function or_where_in($key = NULL, $values = NULL) 152 { 153 return $this->_where_in($key, $values, FALSE, 'OR '); 154 } 155 156 /** 157 * どこではない 158 * @著者zhaoyingnan 2015-10-14 13:58 159 * @param string $key クエリ対象の列 160 * @param string $values 列の値の範囲 161 * @return オブジェクト 162 **/ 163 public function where_not_in($key = NULL, $values = NULL) 164 { 165 return $this->_where_in($key, $values, TRUE); 166 } 167 168 /** 169 * or_where_not_in 170 * @著者zhaoyingnan 2015-10-14 13:58 171 * @param string $key クエリ対象の列 172 * @param string $values 列の値の範囲 173 * @return オブジェクト 174 **/ 175 public function or_where_not_in($key = NULL, $values = NULL) 176 { 177 return $this->_where_in($key, $values, TRUE, 'OR '); 178 } 179 180 /** 181 * までにご注文ください 182 * @著者zhaoyingnan 2015-10-14 13:35 183 * @param string $orderby ソートする列 184 * @param string $direction asc または desc 185 * @return オブジェクト 186 **/ 187 public function order_by($orderby, $direction = '') 188 {} 189 190 /** 191 * 参加する 192 * @著者zhaoyingnan 2015-10-14 14:07 193 * @param string $table テーブル名 194 * @param string $cond 条件 195 * @param string $type オプションには、左、右、外側、内側、左外側、および右外側が含まれます。 196 * @return 197 **/ 198 public function join($table, $cond, $type = '') 199 {}200 201 /** 202 *いいね! 203 * @著者zhaoyingnan 2015-10-14 14:28 204 * @param stringi $field 列が間違っています 205 * @param mix $match ルール 206 * @param mix $side ワイルドカード (%) の位置 使用可能なオプションは、'before'、'after'、および 'both' (これがデフォルトです) 207 * @return オブジェクト 208 **/ 209 public function like($field, $match = '', $side = '両方') 210 { 211 return $this->_like($field, $match, 'AND ', $side); 212 } 213 214 /** 215 * 似てない 216 * @author zhaoyingnan 2015-10-14 14:28 217 * @param stringi $field 列が間違っています 218 * @param mix $match ルール 219 * @param mix $side ワイルドカード (%) の位置 使用可能なオプションは、'before'、'after'、および 'both' (これがデフォルトです) 220 * @return オブジェクト 221 **/ 222 public function not_like($field, $match = '', $side = '両方') 223 { 224 return $this->_like($field, $match, 'AND ', $side, 'NOT'); 225 } 226 227 /** 228 * or_like 229 * @著者zhaoyingnan 2015-10-14 14:28 230 * @param stringi $field 列が間違っています 231 * @param mix $match ルール 232 * @param mix $side ワイルドカード (%) の位置 使用可能なオプションは、'before'、'after'、および 'both' (これがデフォルトです) 233 * @return オブジェクト 234 **/ 235 public function or_like($field, $match = '', $side = '両方') 236 { 237 return $this->_like($field, $match, 'OR ', $side); 238 } 239 240 /** 241 * or_not_like 242 * @著者zhaoyingnan 2015-10-14 14:28 243 * @param stringi $field 列が間違っています 244 * @param mix $match ルール 245 * @param mix $side ワイルドカード (%) の位置 使用可能なオプションは、'before'、'after'、および 'both' (これがデフォルトです) 246 * @return オブジェクト 247 **/ 248 public function or_not_like($field, $match = '', $side = '両方') 249 { 250 return $this->_like($field, $match, 'OR ', $side, 'NOT'); 251 } 252 253 /** 254 * シングルインサートを挿入 255 * @author zhaoyingnan 2015-10-14 14:52 256 * @param string $table テーブル名 257 * @param array $set 連想配列 258 * @return オブジェクト 259 **/ 260 関数 insert($table = '', $set = NULL) 261 {}262 263 /** 264 * バッチエントリとバッチ終了を挿入します 265 * @author zhaoyingnan 2015-10-14 14:52 266 * @param string $table テーブル名 267 * @param array $set 連想配列 268 * @return オブジェクト 269 **/ 270 public function insert_batch($table = '', $set = NULL) 271 {} 272 273 /** 274 *更新 275 * @著者zhaoyingnan 2015-10-14 15:02 276 * @param string $table テーブル名 277 * @param array $set 内容を変更するための連想配列 278 * @param 混合 $where where 条件 279 * @return オブジェクト 280 **/ 281 public function update($table = '', $set = NULL, $where = NULL, $limit = NULL ) 282 {} 283 284 /** 285 *削除 286 * @著者zhaoyingnan 2015-10-14 15:12 287 * @param mix $table テーブル名 288 * @param 混合 $where where 条件 289 * @return オブジェクト 290 **/ 291 public function delete($table = '', $where = '', $limit = NULL, $reset_data = TRUE) 292 { 293 // 最初のパラメータはテーブル名で、2 番目のパラメータは where 句です。 2 番目の引数を省略し、代わりに where() または or_where() 関数を使用できます。 294 //$this->db->where('id', $id); 295 //$this->db->delete('mytable'); 296 297 298 //複数のテーブルからデータを削除する場合は、複数のテーブル名を含む配列を delete() 関数に渡すことができます。 299 //$tables = array('table1', 'table2', 'table3'); 300 //$this->db->where('id', '5'); 301 //$this->db->delete($tables); 302 303 304 //テーブル内のすべてのデータを削除したい場合は、truncate() 関数または empty_table() 関数を使用できます。 305 } 306 307 /** 308 *制限 309 * @著者zhaoyingnan 2015-10-14 14:34 310 * @param int $value 311 * @param int $offset 312 * @return オブジェクト 313 **/ 314 パブリック 関数制限($value, $offset = '') 315 {} 316 317 318 319 /** 320 * どこ 321 * 322 * where() または or_where() によって呼び出されます 323 * 324 * @param混合 325 * @param混合 326 * @param string 327 * @return オブジェクト 328 **/ 329 protected function _where($key, $value = NULL, $type = 'AND ', $escape = NULL) 330 {} 331 332 /** 333 * いいね! 334 * 335 * like() または orlike() によって呼び出されます 336 * 337 * @param混合 338 * @param混合 339 * @パラメータ文字列 340 * @return オブジェクト 341 **/ 342 protected function _like($field, $match = '', $type = 'AND ', $side = '両方', $not = '' ) 343 { 344 if ( ! is_array($field)) 345 { 346 $field = array($field => $match); 347 } 348 349 foreach ($field as $k => $v) 350 { 351 $k = $this->_protect_identifiers($k); 352 353 $prefix = (count($this->ar_like) == 0) ? '' : $type; 354 355 $v = $this->escape_like_str($v); 356 357 if ($side == 'なし') 358 { 359 $like_statement = $prefix." $k $not LIKE '{$v}'"; 360 } 361 elseif ($side == '前') 362 { 363 $like_statement = $prefix." $k $not LIKE '%{$v}'"; 364 } 365 elseif ($side == 'after') 366 { 367 $like_statement = $prefix." $k $not LIKE '{$v}%'"; 368 } 369 370 { 371 $like_statement = $prefix." $k $not LIKE '%{$v}%'"; 372 }373 374 // 一部のプラットフォームでは、LIKE ワイルドカードのエスケープ シーケンス定義が必要です 375 if ($this->_like_escape_str != '') 376 { 377 $like_statement = $like_statement.sprintf($this->like_escape_str, $this->_like_escape_chr); 378 } 379 380 $this->ar_like[] = $like_statement; 381 if ($this->ar_caching === TRUE) 382 { 383 $this->ar_cache_like[] = $like_statement; 384 $this->ar_cache_exists[] = 'いいね'; 385 } 386 387 } 388 戻る $this; 389 } 390 391 } コードを表示

www.bkjia.com本当http://www.bkjia.com/PHPjc/1060219.html技術記事 CI フレーム内の AR 操作,ciar モデル層内の部分代コード 1 /* * 2 * CI 内の AR 操作 3 * @author zhaoyingnan 4 * */ 5 public function mAR() 6 { 7 /* ****** ******** 查询 *****...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート