thinkphp模型層

來源:互聯網
上載者:User

標籤:類對象   func   條件   讀寫分離   deploy   表數   複製   order   日誌   

thinkphp想要做模型model,首先要更改一下設定檔:在Home檔案夾下的Conf下的config檔案中進行修改:

我們可以將convention裡邊複製一下過來修改:

<?phpreturn array(    //‘配置項‘=>‘配置值‘    ‘SHOW_PAGE_TRACE‘ =>true,    /* 資料庫設定 */    ‘DB_TYPE‘               =>  ‘mysql‘,     // 資料庫類型    ‘DB_HOST‘               =>  ‘localhost‘, // 伺服器位址    ‘DB_NAME‘               =>  ‘book‘,          // 資料庫名    ‘DB_USER‘               =>  ‘root‘,      // 使用者名稱    ‘DB_PWD‘                =>  ‘‘,          // 密碼    ‘DB_PORT‘               =>  ‘‘,        // 連接埠    ‘DB_PREFIX‘             =>  ‘‘,    // 資料庫表首碼    ‘DB_PARAMS‘              =>  array(), // 資料庫連接參數        ‘DB_DEBUG‘              =>  TRUE, // 資料庫偵錯模式 開啟後可以記錄SQL日誌    ‘DB_FIELDS_CACHE‘       =>  false,        // 啟用欄位緩衝    ‘DB_CHARSET‘            =>  ‘utf8‘,      // 資料庫編碼預設採用utf8    ‘DB_DEPLOY_TYPE‘        =>  0, // 資料庫部署方式:0 集中式(單一伺服器),1 分布式(主從伺服器)    ‘DB_RW_SEPARATE‘        =>  false,       // 資料庫讀寫是否分離 主從式有效    ‘DB_MASTER_NUM‘         =>  1, // 讀寫分離後 主伺服器數量    ‘DB_SLAVE_NO‘           =>  ‘‘, // 指定從伺服器序號    /* 資料緩衝設定 */);

將資料庫名稱等改為自己的就可以了,然後我們開始建立模型對象:

<?phpnamespace Home\Controller;//Home是根資料夾,Controller是該檔案所在檔案夾use Think\Controller;//ThINK是根資料夾,Controller是該檔案所在檔案夾class MainController extends Controller{    public function index(){        $n = D("leibie");//建立模型對象,如果建立了模型檔案就用這種        $n = M("leibie");//建立模型對象,建立的是父類對象        $arr = array("lbid"=>"b005","lbname"=>"小說類");        //使用數組方式添加        $n->add($arr);               }            }

我們在Home的Model裡建立一個檔案LeibieModel.classp.hp:

<?phpnamespace Home\Model;use Think\Model;class LeibieModel extends Model{}

我們建立了模型對象就可以從資料庫查資料了:

<?phpnamespace Home\Controller;//Home是根資料夾,Controller是該檔案所在檔案夾use Think\Controller;//ThINK是根資料夾,Controller是該檔案所在檔案夾class MainController extends Controller{    public function index(){        //$n = D("leibie");//建立模型對象,如果建立了模型檔案就用這種        $n = M("leibie");//建立模型對象,建立的是父類對象        //$arr = array("lbid"=>"b005","lbname"=>"小說類");        //得到資料的方法        $arr = $n->select();//讀取所有資料        var_dump($arr);                }            }

輸出結果為:

這就是leibie表中的所有資料。

<?phpnamespace Home\Controller;//Home是根資料夾,Controller是該檔案所在檔案夾use Think\Controller;//ThINK是根資料夾,Controller是該檔案所在檔案夾class MainController extends Controller{    public function index(){        //$n = D("leibie");//建立模型對象,如果建立了模型檔案就用這種        $n = M("leibie");//建立模型對象,建立的是父類對象        //$arr = array("lbid"=>"b005","lbname"=>"小說類");        //得到資料的方法      $arr = $n->find("b001");//讀一條資料        var_dump($arr);                }            }

讀一條資料的輸出結果:

再看一下返回資料總數:

<?phpnamespace Home\Controller;//Home是根資料夾,Controller是該檔案所在檔案夾use Think\Controller;//ThINK是根資料夾,Controller是該檔案所在檔案夾class MainController extends Controller{    public function index(){        //$n = D("leibie");//建立模型對象,如果建立了模型檔案就用這種        $n = M("leibie");//建立模型對象,建立的是父類對象        //$arr = array("lbid"=>"b005","lbname"=>"小說類");        //得到資料的方法     $arr = $n->count();//返回該表資料總數        var_dump($arr);                }            }

輸出結果為:

thinkphp還支援連貫操作,條件查詢:

//連貫操作        //$arr = $n->where("price>50")->select();//加查詢條件        //$arr = $n->table("brand")->select();//切換資料表        //$arr = $n->field("code,name")->select();//確定尋找的列        //$arr = $n->order("price")->select();//排序        //$arr = $n->limit(3,3)->select();//分頁查詢,跳過3條取3條        //$arr = $n->page(2)->select();//取第二頁        //$arr = $n->join("")->select();//串連查詢        //$arr = $n->query();//查詢原生sql語句

這裡就不一一了,大家可以試一下。

 

thinkphp模型層

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.