<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>

                ## 獲取數據對象原始數據:getData() >[info] 所謂數據對象原始數據:其實就是對象的$data=[ ]數組的值 #### 2. 源碼 >[info] 本教程如無特別說明:源碼均指:Model.php 類文件中的內容。 文件位置:/thinkphp/library/think/Model.php ~~~ /** * 獲取對象原始數據 如果不存在指定字段返回false * @access public * @param string $name 字段名 留空獲取全部 * @return mixed * @throws InvalidArgumentException */ public function getData($name = null) { if (is_null($name)) { //如何不傳參數 return $this->data; //返回整個數組(模型對象中與記錄對應的字段集) } elseif (array_key_exists($name, $this->data)) { //參數鍵名是否$data中存在 return $this->data[$name]; //返回當前數組元素,如:$data['name'],name為字段名 } else { //如果傳入的鍵名在表中無對應字段對應,則返回錯誤信息 throw new InvalidArgumentException('property not exists:' . $this->class . '->' . $name); } } ~~~ >[info] 源碼分析:如果該方法有參數,則把參數做為數組鍵名,返回對應的值;如果不傳入任何參數,則返回整個$data數組 * * * * * #### 3. 參數與返回值 * 參數: | 序號 | 參數 |說明 | | --- | --- | --- | | 1 | $name/字符串 | 與數據對象$data屬性對應的數組鍵名 | | 2 | 無 | 不傳入參數,則返回整個數據對象原始數據$data | * 返回值: | 序號 | 條件 | 返回值 | | --- | --- | --- | | 1 | 參數$name | 與數據對象$data對應的數組元素值 | | 2 | 無參數 | 返回整個數據對象原始數據$data數組 | | 3 | $name與$data鍵名不匹配 | false 錯誤 | * * * * * #### 4. 實例演示 1. 先創建一個自定義模型類,繼承自Model類 > 因為Model類是抽象類,必須定義他的子類才可以使用 * 模型文件:/application/index/model/Staff.php ~~~ <?php namespace app\index\model; //導入模型類 use think\model; class Staff extends model { //自定義模型類代碼 } ~~~ 2. 控制器文件: Index.php ~~~ <?php namespace app\index\controller; //導入模型類 use app\index\model\Staff; class Index { public function index(){ //1.創建模型對象$model //此時的模型對象僅僅完成了與特定數據表的綁定 //理論上講,仍是一個沒有任何數據的空模型 $model = new Staff(); //2.創建數據源,供創建數據對象使用 $data = []; $data['id'] = 1001; $data['name'] = 'Peter'; $data['age'] = 26; //3.data()方法完成前面模型對象的$data屬性賦值 //使模型對象轉換成數據對象,現在$model 已經是數據對象啦 $model -> data($data); //4.getData()方法獲取數據對象原始數據$data $result = $model -> getData(); //5.查看數據對象原始數據:$data屬性(數組類型) dump($result); } } ~~~ * 現在打開瀏覽器運行Index控制器的index方法: ~~~ //以下就是數據對象的原始數據 //其實就是將數據對象中$data屬性值輸出 array(3) { ["id"] => int(1001) ["name"] => string(5) "Peter" ["age"] => int(26) } ~~~ >[info] 現在是輸出了全部的原始數據,如果我們只需要其中一個元素,怎么做呢? * getData方法參數傳入鍵名字符串,可獲取指定的單個原始數據元素 * 我們僅修改上面控制器代碼第四步操作即可: ~~~ //4.getData()方法獲取數據對象原始數據$data['name']的值 $result = $model -> getData('name'); ~~~ * 這樣即可獲取原始數據$data中的name鍵名對應的值: ~~~ string(5) "Peter" ~~~ * * * * * #### 4. 總結: >[success] 這個方法很靈活,即可獲取完整的原始數據,也可以獲取其中的一個數據。在開發也是最常用的方法,特別是在模板制作中用得很多,一定要熟練掌握。
                  <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>

                              哎呀哎呀视频在线观看