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

  • Shotcut 2.6.2 Fixes Timeline & HEVC Crashes: What You Need to Know
  • Hyprland Desktop 0.54 Released: Adds Per-Workspace Layouts
  • What’s New in Grafana 12.4: Dynamic Dashboards and Enhanced Observability
  • What are the Microsoft Outlook Steam Account Ads? Here is a Breakdown of the Policy Violation
  • Open Source Endowment Launches to Support FLOSS Infrastructure
  • What is Microsoft Teams Wi-Fi Tracking? This is the Privacy Issue You Should Know
  • Windows Server Finally Supports Boot REFs After 14 Years
  • LXD 6.7 Released: Powerful Container and VM Manager Upgrades
  • Ubuntu 26.04 LTS Snapshot 4 Release Notes and Download Guide
  • What’s New in Calibre 9.4? A Deep Dive into the Latest E-Book Progress Tracking Features
  •  How to Fix Clipchamp No Internet Connection Error on Windows
  • Why Are Sudo Password Asterisks Missing in Ubuntu 26.04?
  • Omarchy Linux 3.4 Released: Arch-Based OS with New Features Explained
  • OnlyOffice Docs 9.3 Adds Multipage View and PDF Signatures
  • LibreOffice 26.2.1 Released with 70+ Bug Fixes and Improvements
  • fwupd 2.0.20 Released: Simplified Firmware Updates for Linux Users
  • What is GStreamer 1.28.1? A Deep Dive into the Latest Stability and Security Update
  • Typhoon Weather App Gets Qt6 Upgrade: What’s New?
  • Showtime Video Player Coming to As Default on Ubuntu 26.04 Soon
  • What is Wireshark 4.6.4 and Why is the USB HID Fix Critical?
  • What’s New in Tails 7.5? Understanding the Latest Privacy-Focused Linux Update
  • Linux Kernel LTS Support Gets Major Update for Long-Term Users
  • What is Caddy 2.11.1 and Why Does Automatic ECH Key Rotation Matter?
  • React Joins Linux Foundation: What It Means for Developers
  • What is ZFS 2.4.1? Understanding the Latest Stability and Linux 6.19 Updates
  • Apa itu Pin di iMessage?
  • SKTP Nggak Muncul di Info GTK padahal Sudah Terbit? Ini Trik Rahasia Biar Data Langsung Update!
  • Ini Trik Nuyul Cari Cuan di Game Puzzle Farm 2026 Biar Koin Melimpah Tanpa Undang Teman
  • Inilah Ukuran Kertas Thermal 58mm ISO Di Word, Berapa dan Panduan Lengkap Memilihnya
  • Bukan Cuma Zakat! Ternyata Sumbangan Jenis Ini Bisa Ngurangin Pajak Kalian! Simak Penjelasannya
  • 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