批改状态:合格
老师批语:
/** * 软删除说明 *1.需要的在模型Staff导入use think\model\concern\SoftDelete; *2.数据表中添加 delete_time 字段 *3.设置 $deleteTime = 'delete_time' $defaultSoftDelete = 0 *4.执行软删除 * *注意需要在类里再次use一次SoftDelete * */
下边上实例 这是文件位置


<?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
*
*/
}点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号