<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # model數據業務層 model層用于書寫業務邏輯。 ## app下model層結構 ``` ├─model │ article 文章業務 │ express 配送業務 │ games 游戲業務 │ goods 商品業務 │ image 圖片處理業務 │ member 會員相關業務 │ order 訂單相關業務 │ share 分享相關業務 │ shop 店鋪相關業務 │ stat 數據統計業務 │ store 門店自提相關業務 │ system 基礎系統相關業務 │ upload 上傳相關業務 │ verify 核銷相關業務 │ web 網站整體業務 ``` **一,model層書寫要繼承BaseModel,用于處理數據的返回** ~~~ /** * 文章 */ class Article extends BaseModel { } ~~~ **一,mode層調用數據庫需要model(表),用于調用數據庫,例如添加文章** ~~~ /** * 添加文章 * @param $data * @return array */ public function addArticle($data) { $data[ 'create_time' ] = time(); model('article')->startTrans(); try { //添加文章 model('article')->add($data); //更新分組文章數等信息 if ($data[ 'status' ] == 1) { model('article_category')->setInc([ [ 'category_id', '=', $data[ 'category_id' ] ] ], 'article_num'); } else { model('article_category')->setInc([ [ 'category_id', '=', $data[ 'category_id' ] ] ], 'article_num'); } model('article')->commit(); return $this->success(); } catch (\Exception $e) { model('article')->rollback(); return $this->error('', $e->getMessage()); } } ~~~ model(表)實際是調用了基礎的model類,路徑:model/Model.php model類實現了數據表的增刪改查,分頁列表,關聯表查詢,統計查詢等業務,不需要調用thinkphp的連貫操作,這樣書寫更加簡潔 ~~~ <?php namespace app\model; use think\facade\Db; use think\Validate; use think\facade\Cache; /** * 模型基類 */ class Model { // 查詢對象 private static $query_obj = null; protected $table = ''; //驗證規則 protected $rule = []; //驗證信息 protected $message = []; //驗證場景 protected $scene = []; //錯誤信息 protected $error; protected $is_cache = 1; public function __construct($table = '') { } public function isCache() { } /** * 獲取列表數據 * @param array $condition * @param string $field * @param string $order * @param number $page * @param array $join * @param string $group * @param string $limit * @param string $data * @return mixed */ final public function getList($condition = [], $field = true, $order = '', $alias = 'a', $join = [], $group = '', $limit = null); /** * 獲取全部數據 */ final public function all(); /** * 獲取分頁列表數據 * @param unknown $where * @param string $field * @param string $order * @param number $page * @param string $list_rows * @param string $alias * @param unknown $join * @param string $group * @param string $limit */ final public function pageList($condition = [], $field = true, $order = '', $page = 1, $list_rows = PAGE_LIST_ROWS, $alias = 'a', $join = [], $group = null, $limit = null); /** * 獲取分頁列表數據(按照數量查詢分頁) * @param unknown $where * @param string $field * @param string $order * @param number $page * @param string $list_rows * @param string $alias * @param unknown $join * @param string $group * @param string $limit */ final public function rawPageList($condition = [], $field = true, $order = '', $page = 1, $list_rows = PAGE_LIST_ROWS, $alias = 'a', $join = [], $group = null, $limit = null); /** * 獲取單條數據 * @param array $where * @param string $field * @param string $join * @param string $data * @return mixed */ final public function getInfo($where = [], $field = true, $alias = 'a', $join = null, $data = null); /** * 得到某個字段的值 * @access public * @param array $where 條件 * @param string $field 字段名 * @param mixed $default 默認值 * @param bool $force 強制轉為數字類型 * @return mixed */ final public function getValue($where = [], $field = '', $default = null, $force = false); /** * 新增數據 * @param array $data 數據 * @param boolean $is_return_pk 返回自增主鍵 */ final public function add($data = [], $is_return_pk = true); /** * 新增多條數據 * @param array $data 數據 * @param int $limit 限制插入行數 */ final public function addList($data = [], $limit = null); /** * 更新數據 * @param array $where 條件 * @param array $data 數據 */ final public function update($data = [], $where = []); /** * 刪除數據 * @param array $where 條件 */ final public function delete($where = []); /** * 統計數據 * @param array $where 條件 * @param string $type 查詢類型 count:統計數量|max:獲取最大值|min:獲取最小值|avg:獲取平均值|sum:獲取總和 */ final public function stat($where = [], $type = 'count', $field = 'id'); /** * SQL查詢 * @param string $sql * @return mixed */ final public function query($sql = ''); /** * 返回總數 * @param unknown $where */ final public function getCount($where = [], $field = '*', $alias = 'a', $join = null, $group = null); /** * 返回總數 * @param unknown $where */ final public function getSum($where = [], $field = '', $alias = 'a', $join = null); /** * SQL執行 */ final public function execute($sql = ''); /** * 查詢第一條數據 * @param array $condition */ final function getFirstData($condition, $field = '*', $order = ""); /** * 查詢第一條數據 * @param array $condition */ final function getFirstDataView($condition, $field = '*', $order = "", $alias = 'a', $join = [], $group = null); /** * 事物開啟 */ final public function startTrans(); /** * 事物提交 */ final public function commit(); /** * 事物回滾 */ final public function rollback(); /** * 自增數據 * @param array $where * @param $field * @param int $num * @return int * @throws \think\db\exception\DbException */ final public function setInc($where, $field, $num = 1); /** * 自減數據 * @param $where * @param $field * @param int $num * @return int * @throws \think\db\exception\DbException */ final public function setDec($where, $field, $num = 1); /** * 獲取最大值 * @param array $where * @param $field * @return mixed */ final public function getMax($where, $field); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看