Laravel

Accessors dan Mutators Laravel 5.4

Accessors dan Mutators Laravel 5.4

1631 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) #1: Schema Database Laravel

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

Beragam method yang digunakan untuk membuat sebuah aplikasi sesuai dengan yang diinginkan, salah satunya menggunakan SPA. Dalam tutorial ini kita akan belajar bagaimana membuat aplikasi laundry menggu...

Google Authentication With Laravel 5.8 Laravel

Google Authentication With Laravel 5.8

Otentikasi menjadi gerbang utama sekaligus protector yang biasanya digunakan untuk melindungi data atau membatasi akses pada aplikasi terkait. Berikut adalah cara membuat authenticate google di Larave...

Membuat Repository Pattern Laravel 5.7 Laravel

Membuat Repository Pattern Laravel 5.7

Laravel hadir dengan berbagai fitur beserta kemudahan yang ditawarkan guna mempercepat proses development, namun bukan berarti hal itu membuat kita menjadi programmer "pemakai" tanpa memikirkan dan be...

Komentar