亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

創(chuàng)建模型 進(jìn)行增刪改查 軟刪除

Original 2019-06-08 00:22:26 270
abstract:<?Phpnamespace app\index\model;use think\model\concern\SoftDelete;use think\Model;class Staff extends Model{ use SoftDelete; //設(shè)置數(shù)據(jù)表的名稱 protected $table = 'my_sjb'; //設(shè)置

<?Php

namespace app\index\model;
use think\model\concern\SoftDelete;
use think\Model;

class Staff extends Model
{
 use SoftDelete;
 //設(shè)置數(shù)據(jù)表的名稱
 protected $table = 'my_sjb';
 //設(shè)置主鍵:默認(rèn)為id
 protected $pk = 'id';
 //設(shè)置刪除時(shí)間的字段
 protected $deleteTime = 'delete_time';
 //設(shè)置軟刪除字段的默認(rèn)值
 protected $defaultSoftDelete = 0;
}




<?php
namespace app\index\controller; //命名空間

use think\Controller; //系統(tǒng)控制器
use app\index\model\Staff as StaffModel; //導(dǎo)入模型 設(shè)置模型別名 防止沖突

class Staff extends Controller
{
 //實(shí)例化模型
 //public function instance()
 public function instance(StaffModel $staff) //依賴注入
 {
  //$staff = new StaffModel(); //模型實(shí)例化
  dump($staff->getname());//查詢模型名稱


  //新增一條記錄
  $staff->name = 'yang';
  $staff->sex = 0;
  $staff->age = 30;
  $staff->salary = 12000;

  //新增操作
  $staff->save();
  return '新增成功,id='.$staff->id;
 }
 //模型查詢
 public function query()
 {
  //1.查詢單挑記錄 get(主鍵/閉包)
  // $staff = StaffModel::get(18);
  // dump($staff);
  // echo $staff['name'],'<br/>';
  // echo $staff->name,'<br/>';

  //用閉包來創(chuàng)建查詢條件
  // $staff = StaffModel::get(function($query){
  //  $query->where('sex',0)->where('salary','>',8000);
  // });
  // dump($staff);

  //直接靜態(tài)調(diào)用Db類的查詢構(gòu)造器進(jìn)行查詢
  // StaffModel::where('sex',0)
  // ->where('salary','>',8000)
  // ->find();
  // dump($staff);

  //2.多條記錄的查詢all
  //$staffs = StaffModel::all();//不傳參查詢所有
  //$staffs = StaffModel::all([18,19,20]);
  // $staffs = StaffModel::all(function($query){
  //  $query->where('age','<',40)->where('salary','>',3000);
  // });
  //dump($staffs);

  // foreach ($staffs as $staff){
  //  echo '編號(hào):'.$staff->id.'<br/>';
  //  echo '姓名:'.$staff->name.'<br/>';
  //  echo '年齡:'.$staff->age.'<br/>';
  //  echo '性別:'.$staff->sex.'<br/>';
  //  echo '工資:'.$staff->salary.'<hr/>';
  // }

  //使用閉包來實(shí)現(xiàn)將請求變量注入到閉包條件中
  $age = $this->request->param('age')?:40;
  $salary = $this->request->param('salary')?:3000;

  $staffs = StaffModel::all(function($query) use ($age,$salary){
   $query->where('age','<',$age)->where('salary','>',$salary);
  });
  dump($staffs);

 }

 //模型的更新 必須基于查詢 不允許無條件
    public function update()
    {
     // $staff = StaffModel::get(18);
     // $staff->name = '大胡子';
     // $staff->save();

        //支持靜態(tài)方法更新
     // StaffModel::update(
     //  ['name'=>'張飛'],
     //  ['id'=> 18]
     // ); 

     //復(fù)雜更新
     //    StaffModel::update(
     //  ['salary'=>\think\Db::raw('salary+500')],
     //  function($query){
     //   $query->where('age','>',50);
     //  }
     // ); 

     //查詢構(gòu)造器更新
     StaffModel::where('age','>=',50)
         ->data(['salary'=>\think\Db::raw('salary+500')])
         ->update();
    }

    //添加數(shù)據(jù)
    public function create()
    {
     $data = [
      'name'=>'唐十一',
      'age'=>28,
      'sex'=>0,
      'salary'=>6500
     ];
     //$field = ['name','age'];
     //StaffModel::create($data,$field);

     //查詢構(gòu)造器查詢數(shù)據(jù)
     StaffModel::insert($data);

    }

    //模型刪除
    public function delete()
    {
     //destroy 主鍵刪除
     //StaffModel::destroy(30);([1,2,3])//支持?jǐn)?shù)組
     //刪除條件推薦使用閉包
     StaffModel::destroy(function($query){
      $query->where('age','>',50)->where('salary','>',5000);
     });

     //查詢構(gòu)造器實(shí)現(xiàn)
     StaffModel::where('age','>=',50)
         ->where('salary','>',5000)
         ->delete();
    }

    //軟刪除:
    public function SoftDelete()
    {
     StaffModel::destroy(18);
     //軟刪除在普通查詢中不可見
     //$res = StaffModel::where('id','<=',20)->select();
     //想看見被刪除的數(shù)據(jù)
     //$res = StaffModel::withTrashed()->where('id','<=',20)->select();
     //只查看回收站數(shù)據(jù)
     $res = StaffModel::onlyTrashed()->select();
     dump($res);
    }
}


Correcting teacher:查無此人Correction time:2019-06-10 09:48:12
Teacher's summary:完成的不錯(cuò)。數(shù)據(jù)都要保存下來,所以才使用軟刪除。繼續(xù)加油。

Release Notes

Popular Entries