Laravel Eloquent Scopes Accessors Mutators Query Local Global
Definisi
- Local scope: method
scopeNama()untuk reuse kondisi query (Post::published()). - Global scope: otomatis menempel ke semua query model (misal
where deleted_at is null/ soft delete). - Accessor (
getXAttribute): memodifikasi nilai saat dibaca. - Mutator (
setXAttribute): memodifikasi nilai saat disimpan.
Kapan dipakai
Pakai local scope untuk filter berulang (aktif, populer). Global scope untuk filter wajib semua query (tenant, soft-delete). Accessor/mutator untuk format data konsisten (full name, hash password, uppercase kode).
Cara kerja
Local scope
class Post extends Model {
public function scopePublished($q) {
return $q->where('status',