Skip to content
Tutorial emka
Menu
  • Home
  • Debian Linux
  • Ubuntu Linux
  • Red Hat Linux
Menu

Cara Menggunakan ScopedBy dan ObservedBy Attributes pada Model Eloquent Laravel

Posted on February 20, 2024

Laravel 10.44 menawarkan sebuah fitur baru untuk model Eloquent ORM. Beberapa developer menambahkan beberapa fitur yang menarik disana.

Misalnya, Eliezer Margareten telah menyumbangkan atribut ScopedBy untuk mendaftarkan global scopes pada model Eloquent. Contohnya:

use AppModelsScopesAncientScope;
use IlluminateDatabaseEloquentAttributesScopedBy;

#[ScopedBy([AncientScope::class])]
class User extends Model
{
    //
}

Kita juga dapat terus menggunakan metode booted() dalam model untuk mendaftarkan global scopes:

/**
 * Metode "booted" dari model.
 */
protected static function booted(): void
{
    static::addGlobalScope(new AncientScope);
}

Atribut ScopedBy menerima observer tunggal atau array observer, dan Anda juga dapat menentukan beberapa atribut untuk model Anda:

// Tipe array
#[ScopedBy([ScopeOne::class, ScopeTwo::class])]

// Tipe string dapat diulang
#[ScopedBy(ScopeOne::class)]
#[ScopedBy(ScopeTwo::class)]

Selain itu ada juga atribut ObservedBy untuk mendaftarkan observer model pada model Eloquent kita:

use AppObserversUserObserver;
use IlluminateDatabaseEloquentAttributesObservedBy;

#[ObservedBy([UserObserver::class])]
class User extends Authenticatable
{
    //
}

Atribut ObservedBy menerima observer tunggal atau array observer, dan Anda juga dapat menentukan beberapa atribut untuk model Anda jika itu gaya kita:

// Array dari kelas
#[ObservedBy([UserObserver::class, AnotherObserver::class])]

// Dapat diulang sebagai string
#[ObservedBy(UserObserver::class)]
#[ObservedBy(AnotherObserver::class)]

Atribut ObservedBy adalah cara tambahan untuk mendaftarkan observer, yang biasanya dilakukan dalam service provider:

public function boot(): void
{
    User::observe(UserObserver::class);
}

Dengan menggunakan ScopedBy dan ObservedBy, kita dapat dengan mudah menerapkan global scopes dan observers pada model Eloquent Laravel kita.

Recent Posts

  • About Ubuntu Security: Why It Feels Restrictive and How to Balance Protection with Freedom
  • 7-Zip version 26 Released with Enhanced ZIP and RAR Handling Explained
  • How to Fix Windows Hello Camera Error
  • How to Fix Windows Hello Error 0x80090010: Resolving Access Denied (NTE_PERM)
  • Mesa 26.0 Released with Major Ray Tracing Boost for Linux Users
  •  Stability Over Speed: Linux Mint Announces Major Shift to 3-Year Release Cycle
  • Linux Mint 2026 Report Shows Massive Donation Growth
  • How to Build a Windows 95 Smart Toaster: A Nostalgic Tech Project
  • Windows 11 February 2026 Patch Tuesday Includes Secure Boot Certificate Update
  • Tails 7.4.2 Released with Critical Kernel Fix
  • GNOME 48.9 Released: Stable Bugfix Update for Linux Users
  • How to Fix OpenGL 2.1 Errors: What You Need to Know
  • pGrok: Personal Ngrok Alternative with Dashboard & HTTP Request Inspect
  • Mastering Remote Access: A Guide to Connecting to VMs via PuTTY and MobaXterm
  • Is the Raspberry Pi Still an Affordable SBC? 2026 Update
  • How to Launch Your Own Cloud Hosting Platform with ClawHost
  • Notepad Remote Code Execution CVE-2026-20841 Explained
  • Crossover 26 Released: New Features for Linux Users
  • Cosmic Desktop 1.0.6 Released: What’s New for Linux Users?
  • MOS: A New Open-Source OS for Home Labs and Self-Hosting
  • Windows 11 Dock Test: Linux/MacOS Style via PowerToys
  • Microsoft Ends 3D Viewer in Windows 11, Creators Update Era Over
  • Why Linux Outperforms Windows: 4 Key Reasons Explained
  • Windows 11 26H1 Explained: Why This New Update is Only for the Latest ARM Devices
  • Go 1.26 Adds New Features for Developers
  • Apa itu Free Float di Dunia Saham? Ini Artinya
  • Hati-Hati Modus Penipuan Asuransi BCA, Ini Caranya!
  • Inilah Panduan Lengkap Pendaftaran PPDB SMA Unggul Garuda Baru 2026, Simak Syarat dan Alurnya!
  • Alternatif Terbaik Dari OmeTV, Tanpa Takut Kena Banned
  • Tips Nama Petugas TKA SD/SMP Muncul Otomatis di Berita Acara
  • Prompt AI Menyusun Script Pola Suara Karakter agar Brand Jadi Ikonik
  • Prompt AI untuk Merancang Karakter Brand yang Ikonik
  • Prompt AI Audit Konten Sesuai Karakter Brand
  • Prompt AI Merubah Postingan LinkedIn Jadi Ladang Diskusi dengan ChatGPT
  • Prompt AI: Paksa Algoritma LinkedIn Promosikan Konten Kalian
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
©2026 Tutorial emka | Design: Newspaperly WordPress Theme