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