TP5 model的sql操作基本使用
1. 首先 需要在模塊model文件夾裏添加與你數據表一致的類文件,不需要寫什麽方法
2. 在控制器文件裏建立userModel 方法,並引入model類文件,即可使用,與3.2版本不同的是,TP5有自帶的操作方法直接就可以使用,不需要寫太多的sql語句
User::get(1); 查詢主鍵 id =1 的數據信息 echo $user->mobile; \ArrayAccess 接口,可以將對象像數組一樣來訪問 Users::get([‘mobile‘=>‘13554784574‘,‘email‘=>[email protected]]);不根據默認主鍵查詢
User::getByName(‘123‘); 根據條件查詢 單個查詢
User::All(); 全部查詢 User::All([‘id‘=>‘1‘]); 根據條件全部查
Users::where(‘mobile‘,‘13554784574‘)->find(); 也可以這樣寫
更新數據
save()方法 在查詢出來的數據中進行更新 $user = User::get(1); $user->mobile = ‘987654321‘; $user->save()
$users->isUpdate(false)->save();這個操作 是更新時 不更新主鍵值 (從百度問題上看到一些問題 在進行數據庫操作時,每一次的操作都需要進行一次模型對象實例化 不然主鍵值也會改變,但是每次操作更新啥的操作 都要實例化一次模型類 , 那麽 這個方法 確是有點雞肋(個人看法),當然也看到一個大神給出的解決方案
- //假設主鍵為:id
- $affected = $model -> allowField(true)
- -> setAttr(‘id‘,null)
- -> isUpdate(false)
- -> save();
);沒測試過!!
$res[‘mobile‘] = ‘123456798‘; User::update($res,[‘user_id‘=>1]); 自己定義的的更新id = 1 的數據
插入操作
$res[‘name‘] = ‘222‘;
$result = User::create($res); 單條插入 ==== $user = new User; $user->name="123"; $user->save();可以直接使用(字段不存在時 報錯)
批量插入\
$list = [
[‘email‘ => ‘zh‘, ‘mobile‘ => ‘123789‘],
[‘email‘ => ‘123.com‘, ‘mobile‘ => ‘94321‘],
] 或者$list = array(array(‘name‘=>‘qweqwe‘),array(‘name‘=>‘hfks‘));
$user->saveAll($list);
刪除操作
$user = Users::get(23);
$user->delete();或者Users::destroy(23);
TP5 model的sql操作基本使用