首页 > 其他分享 >laravel软删除

laravel软删除

时间:2023-06-22 11:12:13浏览次数:19  
标签:laravel 删除 查询 User onlyTrashed find user

2023年6月22日09:49:49

使用demo

<?php

namespace App\Models;

use Eloquence\Behaviours\CamelCasing;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Feedback extends Model
{
    // 蛇形命名转驼峰
    use CamelCasing;

    // 软件处
    use SoftDeletes;

    // 表名
    protected $table = 'feedback';
    // 主键id
    protected $primaryKey = 'id';
    // 不可被批量赋值的字段
    protected $guarded = [];
    // 不维护时间字段
    public $timestamps = false;
    // 返回隐藏的字段
    protected $hidden = ['delete_at'];
    // 返回显示的字段
    protected $visible = [];
    // 自定义软删除字段 默认 deleted_at
    const DELETED_AT = 'delete_at';
}

orm查询使用

// 软删除
User::destroy(1);
// 查询不带软删除数据
$user = User::find(1);
// 软删除
$user->delete();
// 真实删除
$user->forceDelete(true);

// 默认情况下查询的数据不包含软删除数据,如果需要包含软删除的数据,可以使用下面的方式查询:
User::withTrashed()->find();
User::withTrashed()->select();

// 如果仅仅需要查询软删除的数据,可以使用:
User::onlyTrashed()->find();
User::onlyTrashed()->select();

// 恢复被软删除的数据
$user = User::onlyTrashed()->find(1);
$user->restore();

Model::withTrashed()->where('column', 'value')->restore();

软删除的删除操作仅对模型的删除方法有效,如果直接使用数据库的删除方法则无效,例如下面的方式无效(将不会执行任何操作)

标签:laravel,删除,查询,User,onlyTrashed,find,user
From: https://www.cnblogs.com/zx-admin/p/17497555.html

相关文章

  • 最为常用的Laravel操作(3)-模板
    Blade模板引擎模板继承定义布局:<!--存放在resources/views/layouts/app.blade.php--><html><head><title>AppName-@yield('title')</title></head><body>@section('sidebar')......
  • 程序删除自身 c++ win32
    include<windows.h>//设置本程序进程基本为实时执行,快速退出。SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS);SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL);//通知资源管理器,本程序删除SHChangeNotify(SHCNE_DELETE,SHCNF_PA......
  • 离线安装binlog2sql恢复误删除数据
    下载离线包先在一台能上网的机器下载好离线包gitclonehttps://github.com/danfengcao/binlog2sql.gitpip3download-rrequirements.txt./将依赖包下载到./目录因为是mysql8.0还需要安装PyMySQL和mysql-replicationpip3downloadPyMySQL==0.9.3./pip3downloadmysq......
  • ceph删除fsid
    ceph重装后,fsid冲突,导致重启后mon节点丢了一个查看容器服务,发现丢了一个mon服务 grepfsid/etc/ceph/ceph.confls/var/lib/cephcephadmrm-cluster--fsid$FSID--forcesystemctlrestartceph-$FSID@mon.controller3.service  此时其他fsid的容器服务一下子......
  • laravel数据库模型蛇形命名自动转换驼峰命名
    2023年6月20日15:10:59我看了各种方案,但是多多少少都有各种问题建议使用https://github.com/kirkbushell/eloquence安装composerrequirekirkbushell/eloquence添加到provider添加eloquenceserviceprovider在你的config/app.php文件中'providers'=>[/......
  • 删除标签
    publicfinalvoiddeleteBookmark(Cursorcur,intpos){//fetchinginfo((Cursor)cur).moveToPosition(pos);finalStringbookmark_id=((Cursor)cur).getString(((Cursor)cur).getColumnIndex(Browser.BookmarkColumns._ID));finalStringboo......
  • DataFrame删除特定行
    DataFrame删除特定行数据实例importpandasaspddata_list=[[1,2,3],[-1,2,3],[3,4,5]]dataframe=pd.DataFrame(data_list)dataframe.columns=['col1','col2','col3']dataframe具体数据如下:删除特定条件col1列为-1的行newda......
  • SQL删除语句概述
    关于SQLDelete的这篇文章是关于SQLServer中关键语句,函数和操作的SQL必备系列的一部分。要从表中删除行,请使用delete关键字通过数据操作语言(即DML语句)完成。到目前为止,SQL删除操作是所有DML命令中最简单的操作。在执行delete命令时,我们不必担心从表中获取任何形式的数据,我们不必担......
  • oracle 手动删除归档日志
    1、https://blog.csdn.net/bosschen/article/details/129415215删除归档文件首先删除归档文件在物理主机磁盘中的文件物理文件删除后ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,接下来要做的就是从controlfile中清除掉多余......
  • 三种批量删除PLSQL写法效率的比对
    我们有一个重要的旧系统,最近夜维出现了一些问题,夜间执行5小时未完成,为了不影响业务,只能早上高峰期之前,DBA手工kill夜维进程。这一个夜维程序采用了PLSQL写的存储过程,通过数据库job定时启动执行。存储过程我很少使用,借着这次机会,补习了下,这个存储过程中的逻辑比较简单,依次删除若干张......