11 hours ago
Quote:Reza Nurfachmi, March 28, 2023
Tau nggak sih kenapa barisan kode sederhana seperti ini bisa mengeluarkan output dengan berbagai cara?
PHP Code:
$user = \App\Models\User::inRandomOrder()->first();
Dengan keluaran sebagai array, bisa…
PHP Code:
$user['name']; // output: John
Dengan keluaran sebagai object, bisa juga…
PHP Code:
$user->name; // output: John
Jawabannya adalah karena ada suatu class yang namanya Fluent. Class ini secara ajaib melakukan mutasi kepada data agar bisa diakses dalam berbagai metode. Salah duanya adalah seperti yang sudah penulis jabarkan di atas.
Sebelum penulis berikan berbagai contoh penggunaannya, mari kita kenalan dengan class Fluent ini.
PHP Code:
use Illuminate\Support\Fluent;
$attributes = ['name' => 'Reza'];
$data = new Fluent($attributes);
Selanjutnya adalah ada berbagai metode yang bisa dilakukan oleh class Fluent ini. Penulis langsung jabarkan melalui contoh satu per satu ya.
---
PHP Code:
$data->get('name', 'Nurfachmi');
Kode di atas akan mengembalikan nilai dari name atau Nurfachmi jika name belum di-set nilainya.
---
PHP Code:
$data->getAttributes();
Kode di atas akan mengembalikan seluruh atribut yang sudah di-set, termasuk yang baru dibuat, misalnya:
PHP Code:
$data->last_name = "Nurfachmi";
print_r($data->getAttributes());
/***
Output:
Array ( [name] => Reza [last_name] => Nurfachmi )
***/
---
PHP Code:
$data->toArray();
Kode di atas akan mengembalikan data sebagai array.
---
PHP Code:
$data->toJson();
Kode di atas akan mengembalikan data sebagai json.
---
Fluent adalah sebuah utiliti class yang disediakan oleh Laravel sendiri agar kita dapat secara luwes mengolah data.

