~ We are changing the world with technology. ~

Matt Mullenweg

Accessors dan Mutators Laravel 5.4

Accessors dan Mutators Laravel 5.4

2095 Dilihat

Belajar laravel memang menarik, pada artikel sebelumnya kita telah belajar mengenal relationships pada laravel, maka kali ini kita akan belajar fitur lainnya yang tak kalah menarik dan masih berkaitan dengan Eloquent model. Fitur tersebut adalah Accessors & Mutators, yang kita kenal sebagai getters dan setters. Accessors digunakan untuk memanggil antribut dengan cara tertentu dan Mutators digunakan untuk menyimpan attribut dengan cara tertentu juga.

Menggunakan Accessors

Dengan menggunakan accessors, sebagai contoh kita dapat menyelesaikan permasalahan dalam membuat format tanggal sesuai yang kita inginkan dengan menggunakan method accessor secara sederhana pada model Post class. Perlu diketahui, nama method accessors diawali dengan get, sehingga menjadi getNamaFieldAttribute. Tambahkan code berikut pada Post.php :

public function getCreatedAtAttribute($value)
{
     return Carbon::parse($value)->format('d-m-Y');
}

Seperti yang anda lihat, method tersebut mengambil attribut created_at sehingga nama method yang digunakan adalah getCreatedAtAttribut. Pada kasus ini kita akan menggunakan Carbon untuk memformat ulang tanggalnya.

Untuk menggunakan Carbon, anda harus memasukkan use statements pada file Post.php :

use Carbon\Carbon;

Sehingga full code Post.php akan menjadi seperti ini :

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Post extends Model
{
    protected $fillable = ['user_id', 'title'];

    public function getCreatedAtAttribute($value)
	{
		return Carbon::parse($value)->format('d-m-Y');
	}
}

Jadi setelah anda selesai melakukannya, format tanggal anda akan diperbaharui secara otomatis dimanapun kita mengaksesnya created_at. Seperti yang terlihat dibawah ini :

Keren bukan ? Jadi kita tidak perlu lagi melakukan re-format tanggal setiap kali kita akan menggunakannya.

Menggunakan Mutators

Serupa namun tak sama, jika accessors digunakan untuk memanggil attribut, maka mutators untuk menyimpan sebuah attribut. Misal pada penerapan kasus kali ini adalah, sebelum menyimpan kedatabase kita hendak mengubah format title menjadi huruf kapital di awal karakter.

Untuk menggunakan mutators, sama dengan accessors kita harus membuat sebuah method dengan nama setNamaFieldAttribut(). Maka pada Post.php tambahkan code berikut :

public function setTitleAttribute($value) 
{
    $this->attributes['title'] = ucfirst($value);
}

Maka secara otomatis, mutators akan bekerja menjadikan karakter yang di input pada field title menggunakan huruf kapital diawal. Pengembangan dari penggunaan Accessors dan Mutators dapat dimanfaatkan dalam berbagai hal sesuai keinginan dan kebutuhan kita.

Backend Developer iTechShark, salah satu perusahaan asal Amerika. Senang dengan teknologi baru. Laravel addict yang tidak fanatik. Merekam jejak dengan menulis

Aplikasi Laundry (Laravel 5.8 - Vue.js - SPA) #6: Role & User Permissions Laravel VueJS

Aplikasi Laundry (Laravel 5.8 - Vue.js -...

Sambil menikmati secangkir kopi ini, kutuliskan serial lanjutan membuat Aplikasi Laundry menggunakan Laravel 5.8 & Vue.js dengan metode SPA (Single Page Application) yang telah memasuki serial ke-6 ny...

Aplikasi Laundry (Laravel 5.8 - Vue.js - SPA) #5: Manage Laundry Products Laravel VueJS

Aplikasi Laundry (Laravel 5.8 - Vue.js -...

Usaha laundry tak hanya mencakup satu bagian saja yakni laundry kiloan, akan tetapi telah memiliki banyak variant diantaranya, laundry jaket, selimut dan berbagai macam yang bersifat satu. Tidak cukup...

Tips Optimasi Meningkatkan Performance Laravel Laravel News

Tips Optimasi Meningkatkan Performance L...

Performance menjadi sebuah titik perhatian yang cukup menarik bagi para pemilik aplikasi, bagaimana tidak, selain kaya akan fitur dan sesuai dengan yang diinginkannya, ada hal yang tidak kalah penting...

Komentar