vaeThink 使用模型之前需要事先use 模型到当前类,例如:use \app\common\model\Article;你也可以直接在实例化的时候加入路径,例如:$model = new \app\common\model\Article;
$articleModel = new Article; // 删除一条 $articleModel->delete(1); // 删除多条 $articleModel->delete([1,2,3]);
$articleModel = new Article; $articleModel->where('id',1)->delete(); $articleModel->where('id','<',10)->delete();
在实际项目中,对数据频繁使用删除操作会导致性能问题,软删除的作用就是把数据加上删除标记,而不是真正的删除,同时也便于需要的时候进行数据的恢复。
//首先我们需要在模型中定义 namespace app\index\model; use think\Model; use traits\model\SoftDelete; class Article extends Model { use SoftDelete; protected $deleteTime = 'delete_time'; }
对应的数据表中要确保有delete_time字段,类型为时间戳类型,默认为Null。
$articleModel = new Article; // 软删除 $articleModel->destroy(1); // 真实删除 $articleModel->destroy(1,true); //默认情况下查询的数据不包含软删除数据,如果需要包含软删除的数据,可以使用下面的方式查询: $articleModel->withTrashed()->find(); $articleModel->withTrashed()->select(); //如果仅仅需要查询软删除的数据,可以使用: $articleModel->onlyTrashed()->find(); $articleModel->onlyTrashed()->select();
vaeThink 想你所想。