Rumah >rangka kerja php >Laravel >Mari kita bincangkan tentang fungsi padam lembut dalam Laravel Admin

Mari kita bincangkan tentang fungsi padam lembut dalam Laravel Admin

PHPz
PHPzasal
2023-04-09 08:30:021020semak imbas

Laravel Admin ialah rangka kerja pengurusan bahagian belakang sumber terbuka yang sangat popular dengan banyak komponen mudah dan pemalam untuk digunakan. Antaranya, fungsi padam lembut adalah salah satu fungsi yang sangat diperlukan untuk banyak pembangun, yang boleh mencapai pemadaman dan pemulihan data yang elegan. Artikel ini akan memperkenalkan fungsi pemadaman lembut dalam Laravel Admin, dengan harapan dapat membantu pembaca menguasai aspek pengetahuan ini dengan lebih baik.

Pertama sekali, apakah itu pemadaman lembut? Dalam pemadaman data tradisional, kami biasanya memadam sepenuhnya data daripada pangkalan data melalui pemadaman fizikal, yang mungkin menyebabkan beberapa masalah yang tidak perlu. Seperti memadam data secara tidak sengaja, tidak dapat memulihkan data, dsb. Pemadaman lembut bermakna data tidak lagi dipadamkan secara fizikal dalam pangkalan data, tetapi lajur deleted_at ditambahkan pada jadual data Apabila data perlu dipadamkan, nilai lajur akan ditetapkan kepada masa semasa, yang adalah bersamaan dengan menandakan data telah dipadamkan. Dengan cara ini, walaupun data telah dipadamkan, kami masih boleh mendapatkan semula data yang dipadamkan dengan menanyakan deleted_at untuk data yang tidak kosong.

Fungsi padam lembut dalam Laravel Admin sangat mudah untuk dilaksanakan, cuma buat medan jadual data deleted_at. Dalam model, kita perlu menggunakan ciri pemadaman lembut, iaitu, use SoftDeletes;, untuk membolehkan pemadaman lembut, seperti berikut:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Product extends Model
{
    use SoftDeletes;

    protected $dates = [&#39;deleted_at&#39;];

    // ...
}

Terdapat atribut $dates di sini, yang bermaksud bahawa ini medan akan ditambah kepada karbon Dalam objek yang di instantiated, adalah mudah untuk kita memformat dan mengendalikan masa.

Apabila kami menggunakan komponen jadual data Pentadbir Laravel, ia akan menapis data yang dipadam lembut secara automatik. Jika kami perlu melihat data yang dipadam lembut, kami hanya perlu menyemak "Tunjukkan data yang dipadam" dalam keadaan penapis di atas jadual data.

Pemadaman lembut data juga sangat mudah di Laravel Admin. Panggil sahaja kaedah delete() dalam pengawal. Kaedah ini akan menetapkan medan deleted_at kepada masa semasa, menandakan data sebagai dipadamkan. Jika kita perlu menggunakan fungsi pemulihan, kita boleh memanggil kaedah restore() dan menetapkan medan deleted_at data yang dipadamkan kepada null.

public function destroy($id)
{
    Product::destroy($id); // 执行软删除

    return redirect(&#39;/admin&#39;)->with(['success' => '删除成功']);
}

public function restore($id)
{
    $product = Product::withTrashed()->find($id);
    $product->restore(); // 还原删除数据

    return redirect('/admin')->with(['success' => '还原成功']);
}

Ringkasnya, fungsi pemadaman lembut dalam Admin Laravel memberikan kami kemudahan dan fleksibiliti yang hebat. Ia boleh membantu kami mengelakkan beberapa kesulitan operasi dan isu keselamatan, menjadikan pembangunan kami lebih cekap dan boleh dipercayai. Saya berharap pembaca dapat menguasai kandungan yang diperkenalkan dalam artikel ini dan mengaplikasikannya pada fungsi pemadaman lembut dalam pembangunan sebenar.

Atas ialah kandungan terperinci Mari kita bincangkan tentang fungsi padam lembut dalam Laravel Admin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn