亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

快速入門ThinkPHP 5.0 --模型篇

難度中級
時長 3小時 0分
學習人數
綜合評分9.67
70人評價 查看評價
10.0 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • tp里面更新數據的兩種方式

    1.

    $model::where(array('字段'=>'值'))->update(array($change));?

    或者如圖所示;

    查看全部
  • use think\Db;

    $db = Db::name('table');

    $db->insert($data); //返回值是影響記錄的行數 插入數

    $db->insertGetId($data); //返回插入數的自增id

    $db->insertAll($data); //返回插入的成功行數

    查看全部
    1 采集 收起 來源:添加數據

    2018-11-05

  • 軟刪除:

    首先在模型里面引用SoftDelete

    <?php

    namespace app\index\model;

    use think\Model;

    use traits\model\SoftDelete;

    class User extends Model{

    ? ? use SoftDelete;

    #刪除數據的時候刪除時間戳默認寫入字段delete_time中,當要自定義時:

    // ? ?protected $deleteTime = '自定義刪除時間字段名';

    }


    然后在控制器里面執行操作:

    ?public function index(){

    // ? ? ? ?$res = User::destroy(4);//被軟刪除

    // ? ? ? ?$res = User::get(4);//返回NULL

    ?

    ? ? ? ? #查詢包含已刪除的數據

    ? ? ? ? //$res = User::withTrashed(true)->find(2);

    ?

    ? ? ? ? #查詢僅包含已刪除的數據

    ? ? ? ? $res = User::onlyTrashed()->select();

    ? ? ? ? foreach ($res as $val){

    ? ? ? ? ? ? dump($val);

    ? ? ? ? }

    ? ? ? ? #若要恢復被軟刪除的數據,直接用update方式將delete_time的值設置為NULL即可

    ?

    ? ? ? ? #當開啟軟刪除后要想真正徹底刪除數據,在destroy的第二個參數后面傳入一個true值

    ? ? ? ? $res = User::destroy(1,true);

    ?

    ? ? ? ? #通過get方式進行軟刪除/刪除

    ? ? ? ? $res = User::get(3);//如果此處數據已經被軟刪除則獲取到的為NULL,后面的操作無效

    ? ? ? ? $user->delete();//軟刪除

    ? ? ? ? $res = $user->delete(true);//刪除

    ? ? }


    查看全部
  • 全局添加更新時間需要在表中新建create_time和update_time字段,配置文件中設置“auto_timestamp"=>true,一般不開啟這個功能,否則表中不存在該字段時會報錯,真正刪除需要把destroy方法或delete方法的第二個參數設置為true

    123456789use?think\Model;use?traits\model\SoftDelete;class?User?extends?Model{????use?SoftDelete;使用軟刪除????protected?$autoWriteTimestamp?=?true;//開啟自動更新時間????protected?$createTime?=?false;//設置為false代表不使用創建時間????protected?$updateTime?=?"update_at";//設置自定義更新時間的字段????protected?$deleteTime?=?"delete_at";//設置自定義的軟刪除字段}


    查看全部
  • auto (新增及更新的時候自動完成的屬性數組)


    insert(僅新增的時候自動完成的屬性數組)


    update(僅更新的時候自動完成的屬性數組)


    查看全部
  • <?php????namespace?app\index\model;????use?think\Model;????class?User?extends?Model{????????protected?$auto?=?[????????????'time'????????];????????protected?$insert?=?[????????????'time_insert'????????];????????protected?$update?=?[????????????'time_update'????????];????????public?function?setPasswordAttr($val,$data){????????????//第二個參數是數組數據????????????return?$val.$data['email'];????????????return?md5($val);????????}????????public?function?setTimeAttr(){????????????return?time();????????}????????public?function?setTimeInsertAttr(){????????????return?time();????????}????????public?function?setTimeUpdateAttr(){????????????return?time();????????}????}

    查看全部
  • <?php????namespace?app\index\model;????use?think\Model;????class?User?extends?Model{????????public?function?getSexAttr($val){????????????switch($val){????????????????case?'1':????????????????????return?"男";????????????????????break;????????????????case?'2':????????????????????return?"女";????????????????????break;????????????????default:????????????????????return?"未知";????????????????????break;????????????}????????}????}

    查看全部
    0 采集 收起 來源:模型獲取器

    2018-11-05

  • 模型獲取器 成員方法(get字段名Attr)[字段名首字母大寫] 在model中使用 在controller中use下model中的類(該類需繼承model類),利用 ?類名::get() ?進行獲取數據值 可利用toArray獲取改后數據 可利用getData獲取改前數據

    查看全部
    0 采集 收起 來源:模型獲取器

    2018-11-05

  • count ? ? User::count(); ? ? ? ? max ? ? ? User::max('字段名') ? sum ? ? ? User::sum('字段名') ? avg ? ? ? User::avg('字段名') ? min ? ? ? User::min('字段名') 都可以和where條件合作

    查看全部
    0 采集 收起 來源:模型聚合操作

    2018-11-05

  • destroy對數據庫刪除的操作 $userModel = User::get(7); ?$res = $userModel->delete();//對數據庫刪除的操作 $res = User::where("1=1") -> delete();//1=1 清空數據庫

    查看全部
  • <?phpnamespace?app\index\controller;use?think\Controller;use?app\index\model\User;class?Index?extends?Controller{????public?function?index(){????????#destroy返回影響行數//????????$res?=?User::destroy(function?($query){//???????????$query->where('id','<',5)//???????????????->whereOr('id','>',10)?;//????????});//????????dump($res);?????????#get返回影響行數//????????$userModel?=?User::get(7);//????????$res?=?$userModel->delete();//????????dump($res);?????????#delete,返回影響行數????????$res?=?User::where('id',10)->delete();????????dump($res);????}}

    查看全部
  • <?phpnamespace?app\index\controller;use?think\Controller;use?app\index\model\User;class?Index?extends?Controller{????public?function?index(){????????#當數據中存在自增id時,數據更新方式,返回修改的內容,無法驗證是否更改//????????$res?=?User::update([//????????????'id'?=>?1,//????????????'username'?=>?'wenco_update'//????????]);//????????dump($res->toArray());?????????#當數據中不存在自增id時如下,第二個參數即為where,可以為閉包函數,返回修改內容//????????????????$res?=?User::update([//????????????'username'?=>?'wenco_update'//??當第二個參數為數組??????],['id'?=>?'2']);//當第二個參數為閉包函數????????],function?($query){//????????????????????$query->where('id','>=',?15);//????????????????});?????????#where?返回被影響行數,推薦使用!//????????$res?=?User::where('id','between',[1,5])->update([//????????????'username'?=>?'wenco_old'//????????]);//????????dump($res);?????????#User::get,返回被影響行數//????????$userModel?=?User::get(1);//????????$userModel->username?=?'123';//????????$userModel->email?=?'[email protected]';//????????$res?=?$userModel->save();//????????dump($res);?????????#new?User,返回影響行數,第二個參數可以為閉包函數//????????$userModel?=?new?User;//????????$res?=?$userModel->save([//????????????'username'?=>?555//????????],['id'?=>??18]);//????????dump($res);?????????#saveAll,返回結果集,不推薦使用????????$userModel?=?new?User;????????$res?=?$userModel->saveAll([????????????['id'?=>?1,'username'?=>?'wencocococ'?],????????????['id'?=>?2,'username'?=>?'wencocococ'?]????????]);????????dump($res);????}}



    查看全部
  • // $res = User::create([ // 'username' => 'imooc', // 'password' => md5('imooc'), // 'email' ? ?=> '[email protected]', // 'num' ? ? ?=> 100, // 'demo' ? ? => 123 // ], ['username', 'email']); // $userModel = new User; // $userModel->username = '17771258'; // $userModel->email = '[email protected]'; // $userModel->password = md5('17771258'); // $userModel->save(); // $userModel = new User; // $res = $userModel // ->allowField('username') // ->save([ // 'username' ?=> 'imooc1', // 'password' ?=> md5('imooc1'), // 'demo' ? ? ?=> 123 // ]); $userModel = new User; $res = $userModel->saveAll([ ['email'=> '[email protected]'], ['email'=> '[email protected]'] ]); foreach($res as $val) { dump($val->toArray()); } //dump($res); //dump($res);

    查看全部
  • Model->get 返回對象 用toarray 獲取信息

    查看全部
  • 使用模型查詢數據;#通過get方式獲取數據,括號內可以為主鍵,也可以為閉包函數

    // ? ? ? ?$res = User::get(function($query){

    // ? ? ? ? ? ?$query->where("username","eq","wenco_3")

    // ? ? ? ? ? ?->field("email");

    // ? ? ? ?});

    ?

    // ? ? ? ?$res = User::where("id","<=",15)

    // ? ? ? ? ? ?->field("id,username")

    // ? ? ? ? ? ?->limit(19)

    // ? ? ? ? ? ?->order("id" ?,"DESC")

    // ? ? ? ? ? ?->select();


    查看全部

舉報

0/150
提交
取消
課程須知
1、有一定的php基礎。 2、對ThinkPHP5 有一定的了解。 3、沒有接觸過tp5 的學生可以先看下我之前錄制的 <快速入門 ThinkPHP5 基礎篇>
老師告訴你能學到什么?
1、ThinkPHP5 的數據庫操作類 2、ThinkPHP5 的數據模型 3、使用數據模型快速對數據庫進行增刪改查的操作 4、ThinkPHP5 的自動完成操作 5、模型的自動時間戳和軟刪除

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!