waad / laravel-duplicated-unique-soft-delete
将媒体添加到您的 Laravel 应用程序的一个位置
v1.0.0
2023-04-01 11:51 UTC
Requires
- php: >=8.0
This package is not auto-updated.
Last update: 2024-09-24 10:26:22 UTC
README
📌 复制唯一软删除包
使用软删除删除唯一列不是推荐的方法,但在某些数据不重要的情况下仍然可行。
🧔 作者
🎈 最小要求
- PHP >= 8.0.0
💯 安装
通过 Composer 安装
composer require waad/laravel-duplicated-unique-soft-delete
🧰 使用方法
在 模型 中
<?php namespace App\Models; use Illuminate\Database\Eloquent\SoftDeletes; use Waad\DUSD\DeleteUniqueable; class Post extends Model { use SoftDeletes; use DeleteUniqueable; // Important: Unique columns to check public $unique_attributes = ['serial_number', 'mac_address'];
- 我们有以下参数帮助您在请求中进行选择
1 - unique_or_operator
它不会检查所有唯一列,必须是变量,但它至少考虑一个变量列,以删除旧列并插入新列。
values = 1
或 true
2 - unique_select_attributes
它不会检查模型中指定的所有唯一列,只会检查这里参数中指定的列。
例如,values = serial_number,mac_address
⚠️ 注意:必须从控制器请求表单中删除唯一验证
例如:
public function rules() { return [ 'name' => 'required|string|max:255', 'serial_number' => 'required|string|max:255, 'mac_address' => 'required|string|max:255', ]; }
改为:
public function rules() { return [ 'name' => 'required|string|max:255', 'serial_number' => 'required|string|max:255|unique:items,serial_number', 'mac_address' => 'required|string|max:255|unique:items,mac_address', ]; }
🎀 示例
- POST 方法创建示例
name:Item 3 serial_number:s6 mac_address:m6
使用参数
name:Item 3 serial_number:s6 mac_address:m6 unique_select_attributes:serial_number unique_or_operator:1
⚠️ 当在此处使用 unique_or_operator
时,将仅检查 serial_number
并在检查时使用 or
,无论是否存在与 serial_number
相同记录的 mac_address