Rumah > pembangunan bahagian belakang > tutorial php > Model Fasih Boleh Pangkas

Model Fasih Boleh Pangkas

Linda Hamilton
Lepaskan: 2024-12-29 18:33:11
asal
144 orang telah melayarinya

Prunable Eloquent Models

Sejak Laravel 8.5 terdapat ciri yang ditambahkan pada rangka kerja yang membolehkan anda memangkas model berdasarkan tarikh. Ini
sifat dipanggil IlluminateDatabaseEloquentPrunable dan ia akan membolehkan anda memangkas model berdasarkan tarikh.

Sifat ini berguna apabila anda mempunyai model yang ingin anda padamkan berdasarkan tarikh. Contohnya, anda mungkin mempunyai model
yang menyimpan log dan anda mahu memadamkan log yang lebih lama daripada tarikh tertentu.

Dalam artikel ini, kita akan melihat cara anda boleh mencipta sifat yang membolehkan anda memangkas model berdasarkan tarikh.

Menggunakan Sifat Boleh Pangkas

Untuk menggunakan sifat Boleh Pangkas anda perlu menambahkannya pada model anda dan menentukan kaedah boleh dipangkas yang akan mengembalikan pertanyaan
contoh pembina. Contoh pembina pertanyaan ini akan digunakan untuk memangkas model berdasarkan tarikh.

Berikut ialah contoh cara anda boleh menggunakan sifat Boleh Prun dalam model:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;

class Log extends Model
{
    use Prunable;

    public function prunable()
    {
        return $this->where('created_at', '<', now()->subDays(30));
    }
}
Salin selepas log masuk

Dalam contoh ini, kami mempunyai model Log yang menggunakan sifat Prunable. Kami telah menentukan kaedah pemangkasan yang mengembalikan
contoh pembina pertanyaan yang akan memadamkan log yang lebih lama daripada 30 hari.

Pemangkasan Jadual

Untuk memangkas model anda perlu menjadualkan pemangkasan berjalan pada masa tertentu. Anda boleh melakukan ini dengan menambahkan arahan
ke fail route/console.php anda yang akan memanggil kaedah prune pada model.

Berikut ialah contoh cara anda boleh menjadualkan pemangkasan model Log:

<?php

use Illuminate\Support\Facades\Schedule;

Schedule::command('model:prune')->daily();
Salin selepas log masuk

Dalam contoh ini, kami menjadualkan perintah model:prune untuk dijalankan setiap hari. Perintah ini akan memanggil kaedah prun
pada model Log dan padamkan log yang lebih lama daripada 30 hari.

Atas ialah kandungan terperinci Model Fasih Boleh Pangkas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan