~ We are changing the world with technology. ~

Matt Mullenweg

Accessors dan Mutators Laravel 5.4

Accessors dan Mutators Laravel 5.4

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

Full Stack Developer & Remote Worker salah satu perusahaan asal Australia. Senang dengan teknologi baru. Laravel addict yang tidak fanatik. Merekam jejak dengan menulis

Aplikasi E-Commerce Laravel 6 #20: Auto Upload Produk Marketplace Laravel

Aplikasi E-Commerce Laravel 6 #20: Auto...

Dewasa ini, marketplace menjadi platform untuk jual-beli yang banyak digemari baik bagi penjual maupun pembeli karena banyaknya promo yang diberikan oleh platform tersebut. Sehingga, data produk biasa...

Aplikasi E-Commerce Laravel 6 #19: Fitur Ongkos Kirim Laravel

Aplikasi E-Commerce Laravel 6 #19: Fitur...

Sejak pertama kali serial Membuat Aplikasi E-Commerce Laravel 6 di-release, ada banyak permintaan untuk menerapkan fitur ongkos kirim, namun kendalanya, tidak satupun yang memiliki license ongkos kiri...

Cara Membuat Sistem Komentar Dengan Laravel 7 Laravel

Cara Membuat Sistem Komentar Dengan Lara...

Membangun sebuah aplikasi yang membutuhkan feedback dari penggunanya, seperti blog, e-commerce dan lain sebagainya membutuhkan sistem komentar untuk saling interaksi antara pemilik dan pengguna atau a...

Komentar