软删除说明
/** * 软删除说明 *1.需要的在模型Staff导入use think\model\concern\SoftDelete; *2.数据表中添加 delete_time 字段 *3.设置 $deleteTime = 'delete_time' $defaultSoftDelete = 0 *4.执行软删除 * *注意需要在类里再次use一次SoftDelete * */
下边上实例 这是文件位置
model中的staff实例
<?php namespace app\index\model; use think\Model; use think\model\concern\SoftDelete; //导入软删除功能 class Staff extends Model { use SoftDelete; protected $table = 'aaa'; protected $pk = 'id'; //设置删除时间字段,配合软删除功能 protected $deleteTime = 'delete_time'; //设置软删除字段的默认值 protected $defaultSoftDelete = 0; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php //cmd 创建模型 php think make:model index/Staff namespace app\index\controller; /** * 使用模型操作数据库 */ use think\Controller; use app\index\model\Staff as Zhang; use think\Request; class Staff extends Controller { //http://tp.io/Index.php/index/Staff/insert //依赖注入方式 function insert(Zhang $zhang) { // dump($zhang->getName()); $zhang->name='井九'; $zhang->age='18'; $zhang->money='7900'; $zhang->save(); return 'id是'.$zhang->id; } //模型查询 function query() { //根据主键获取数据/数组 // dump(zhang::get(56)); //对象 // \var_dump(zhang::get(56)); // echo '<br>'.zhang::get(56)->money;//对象方式 // echo '<br>'.zhang::get(56)['age'];//数组方式 // 查询复杂数据 //使用闭包也就是匿名函数 // get只能查到第一条数据 // $date = Zhang::get(function ($data){ // $data->where('age','>','25')->where('money','>','2500'); // }); // dump($date); //多条数据查询 //主键查询 // dump(Zhang::all([2,56,49])); //复杂查询 // $date1 = Zhang::all(function ($data){ // $data->where('age','>','25')->where('money','>','2500'); // }); // dump($date1); // foreach ($date1 as $key ) { // echo '姓名:'.$key->name.'<br>'; // echo '年龄:'.$key->age.'<br>'; // echo '工资:'.$key->money.'<hr>'; // } echo '<hr color="red">'; // 变量从外部传入 闭包 $this->request->param() $age=$this->request->param('age') ?: 35; $money=$this->request->param('money')? : 7000; //http://tp.io/Index.php/index/Staff/query/age/20/money/8000 $date2 = Zhang::all(function ($data ) use ($age,$money){ $data->where('age','>', $age)->where('money','>', $money); }); dump($date2); // foreach ($date2 as $key ) { // echo '姓名:'.$key->name.'<br>'; // echo '年龄:'.$key->age.'<br>'; // echo '工资:'.$key->money.'<hr>'; // } } //模型更新 function update() { //先查询后更新 // $data = Zhang::get(56); // $data->name='丽水'; // $data->save(); // 推荐使用静态方式 //update(数据,条件,字段) Zhang::update( ['name'=>'小丽','age'=>'15'], ['id'=> 56] ); // 复杂更新 Zhang::update( ['money'=> \think\Db::raw('money+123')], function($data){ $data->where('money','<','6000'); } ); // 构造器 更新 Zhang::where('id',56) ->data('money',12000) ->update(); } // 模型添加数据 function create() { // 添加的数据 $data=[ 'name'=>'阿水', 'age'=>'21', 'money'=>'2600', ]; //过滤 $filed=[ 'name','age' ]; //数据添加 Zhang::create($data,$filed); } // 模型删除数据 function destroy() { Zhang::destroy(52);//支持多键 //支持回调 Zhang::destroy(function($data){ $data->where('money','<','5500'); }); Zhang::where('id',22)->delete();//支持多键 } //软删除 function delete() { // Zhang::destroy(38); //普通查询查不到 dump(Zhang::where('id',39)->select()); //包括已删除的withTrashed() dump(Zhang::withTrashed()->where('id',38)->select()); //仅查询已删除的 dump(Zhang::onlyTrashed()->select()); } /** * 软删除说明 *1.需要的在模型Staff导入use think\model\concern\SoftDelete; *2.数据表中添加 delete_time 字段 *3.设置 $deleteTime = 'delete_time' $defaultSoftDelete = 0 *4.执行软删除 * *注意需要在类里再次use一次SoftDelete * */ }
运行实例 »
点击 "运行实例" 按钮查看在线实例