標籤:類對象 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模型層