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

  • Cara Konversi File IMG ke ISO di Linux Dengan Cepat
  • Cara Mengatasi Error Cache & Membengkak di Spotify Linux
  • Cara Membuat Sertifikat SSL Self-signed di Ubuntu 25.10
  • Cara Instalasi Python 3 di Ubuntu 25.10
  • Cara Install OBS Studio di Ubuntu 25.10
  • Cara Instalasi Server DNS Bind di Ubuntu 25.10
  • Cara Instalasi Ubuntu 25.10 di WSL2
  • Cara Upgrade Ubuntu 24.04 ke Ubuntu 25.04
  • Cara Install dan Konfigurasi DNSMasq di Debian 13
  • Tutorial Penggunaan XLOOKUP dengan Banyak Kriteria di Excel
  • Cara Backup Data dengan Aplikasi Kopia di Linux
  • Cara Mengatur Warna pad Skrip Bash
  • Cara Menginstall Apache Superset dengan Docker
  • Cara Membuat Server GPU Farm dengan Docker Rootless Mode dan Ubuntu
  • Cara Install MongoDB di Ubuntu 25.04
  • Cara Menyiapkan Komputer Jadi Lab Pemrograman Murah dengan Ubuntu, Docker dan WSL
  • Cara Install Driver Nvidia di Debian 12 Bookworm
  • Cara Menemukan RPM yang Baru Saja Diinstal di RedHat Linux
  • Cara Instalasi dan Konfigurasi HashiCorp Vault di CentOS/Rocky Linux
  • Cara Menemukan Nama Kode Ubuntu Kamu
  • Cara Mengirim Faks Tanpa Mesin Faks (Tutorial 2025)
  • Review Aplikasi File Pilot: Pengganti File Explorer Windows 11 yang Ringan dan Cepat
  • Cara Jitu Bikin Aplikasi dan Game di Windows 11 Kamu Makin Ngebut!
  • Cara Custom Installer Ubuntu Linux 24.04/24.10 dll
  • Tutorial Cara Mematikan Fitur AI di Browser Microsoft Edge

Archives

  • October 2025
  • August 2025
  • April 2025
  • February 2025
  • November 2024
  • October 2024
  • September 2024
  • May 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
©2025 Tutorial emka | Design: Newspaperly WordPress Theme