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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #### 獲取數據對象原始數據:getData() 所謂數據對象原始數據:其實就是對象的$data=[ ]數組的值 ~~~ /** * 獲取對象原始數據 如果不存在指定字段返回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); } } ~~~ 實例 ~~~ <?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); } } ~~~ 查看數據對象原始數據:$data屬性 ~~~ array(3) { ["id"] => int(1001) ["name"] => string(6) "Peter" ["age"] => int(26) } string(6) "Jackee" ~~~ getAttr()方法獲取數據對象原始數據 ~~~ //getAttr()方法獲取數據對象原始數據$data['name']的值 $result = $model -> getAttr('name'); // "Jackee" ~~~ * * * * * #### 多條數據查詢all() 控制器方法 ~~~ <?php namespace app\index\controller; use app\index\model\Staff; class Index { public function index(){ //1.執行查詢,返回數據對象數組 $result = Staff::all('1009,1010'); //2.遍歷該數據對象數組:$result //$data既是循環變量,也是其中一個數據對象 foreach ($result as $data){ //getData()可以獲取數據對象原始數據:$data屬性值 dump($data -> getData()); } } } ~~~ 輸出 ~~~ array(6) { ["id"] => int(1009) ["name"] => string(6) "王五" ["sex"] => int(1) ["salary"] => float(8100) ["dept"] => string(9) "開發部" ["hiredate"] => string(10) "2017-01-01" } array(6) { ["id"] => int(1010) ["name"] => string(6) "王六" ["sex"] => int(1) ["salary"] => float(2000) ["dept"] => string(9) "開發部" ["hiredate"] => string(10) "2017-02-01" } ~~~ 任務2:查詢表中年齡age大于30,并且工資salary大于800的員工信息 ~~~ <?php namespace app\index\controller; //導入模型類 use app\index\model\Staff; class Index { public function index(){ //1.構造查詢表達式 $map['age'] = ['>',30]; $map['salary'] = ['>',8000]; //2.執行查詢,返回數據對象數組 $result = Staff::all($map); //3.遍歷該數據對象數組:$result //$data既是循環變量,也是其中一個數據對象 foreach ($result as $data){ //getData()可以獲取數據對象原始數據:$data屬性值 dump($data -> getData()); } } } ~~~ 任務3:在任務2的基礎上(age>30 AND salary>8000),我們又提出了三個需求:按工資排序,只輸出工資最高的3個人的編號,姓名,年齡,工資信息。 ~~~ <?php namespace app\index\controller; //導入模型類 use app\index\model\Staff; class Index { public function index(){ //1.構造閉包函數 $closure = function ($query){ //1.設置字段別名 $field['id'] = '編號'; $field['name'] = '姓名'; $field['age'] = '年齡'; $field['salary'] = '工資'; //2.設置查詢表達式 $map['age'] = ['>',30]; $map['salary'] = ['>',8000]; //3.執行查詢 $query -> field($field) //限制顯示字段 -> where($map) //過濾查詢結果 -> order('salary desc') //按salary字段降序輸出 -> limit(3); //限制輸出數量 }; //2.執行閉包查詢,返回數據對象數組 $result = Staff::all($closure); //3.遍歷該數據對象數組:$result //$data既是循環變量,也是其中一個數據對象 foreach ($result as $data){ //getData()可以獲取數據對象原始數據:$data屬性值 dump($data -> getData()); } } } ~~~ 5. 總結: all( )方法與查詢類的select方法的功能是一樣的,你完成可以認為這是省去了選擇數據表的select操作。其實將閉包查詢中的all( ),換成:select( )方法,查詢結果是一樣的 ~~~ $result = Staff::select($closure); ~~~ 與 ~~~ $result = Staff::all($closure); ~~~ 完全是等價的!
                  <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>

                              哎呀哎呀视频在线观看