Laravel

Accessors dan Mutators Laravel 5.4

Accessors dan Mutators Laravel 5.4

1328 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

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...

Membuat Aplikasi Invoice Laravel 5.7 #6: Laporan Laravel

Membuat Aplikasi Invoice Laravel 5.7 #6:...

Melanjutkan serial belajar Laravel basic dengan terjun langsung untuk membuat sebuah aplikasi, dan serial ini merupakan seri terakhir yakni membuat laporan dalam bentuk PDF. Berikut ada materi bagaima...

Membuat Aplikasi Invoice Laravel 5.7 #5: Manage Invoice & Authentication Laravel

Membuat Aplikasi Invoice Laravel 5.7 #5:...

Setelah sekian lama jeda karena tidak dapat kesempatan untuk menulis, sehingga ada beberapa part konsep dari artikel ini yang hilang begitu saja. Pada kesempatan kali ini kita akan membahas cara Membu...

Komentar