Akademi Manajemen Informatika

Di dunia pemrograman, fitur Eloquent ORM tentu menjadi istilah yang Kagak asing Kembali. Pasalnya ia merupakan bagian dari Laravel, framework PHP yang open source. 

Fitur tersebut memungkinkan adanya efisiensi dan kemudahan dalam interaksi pengguna dan database. 

Hal ini menjadikan Eloquent ORM sangat bermanfaat dalam melakukan berbagai operasi basis data, seperti penyimpanan data, manipulasi data, dan lain sebagainya. 

Demi lebih memahami tentang penggunaan Eloquent ORM pada Laravel, simak penjelasan artikel berikut ini.

Apa Itu Eloquent ORM

Eloquent ORM adalah fitur dari Laravel yang memungkinkan developer Demi dapat menggunakan dan memanipulasi data yang Terdapat di dalam database dengan PHP objects dan model terkait. 

Sebagai Object-Relational Mapping (ORM) yang disediakan oleh Framework Laravel, Eloquent Mempunyai fungsi query SQL yang memungkinkan Demi mengelola data dalam database tanpa harus menuliskannya kembali secara manual. 

ORM sendiri mengacu pada suatu metode pemrograman yang menghubungkan database relasional dengan kode pemrograman yang berorientasi sebagai objek. 

Hal ini memungkinkan interaksi antara database dan objek menjadi mudah, sehingga developer dapat memanfaatkan kode Demi bekerja alih-alih menulis SQL secara manual. 

Model atau kode pemrograman yang berbentuk objek tersebut kemudian dipergunakan Demi melakukan operasi data seperti CRUD (Create, Read, Update, Delete) secara efisien dan mudah dalam database. 

Baca Juga: Laravel vs Codeigniter: Pengertian, Fitur, dan Kelebihan

Keuntungan Penggunaan Eloquent ORM 

Pada umumnya, penggunaan Eloquent ORM bermanfaat dalam menyederhanakan interaksi dalam database. Tetapi, Terdapat beberapa keuntungan lainnya yang perlu Anda ketahui dalam hal ini. 

  • Pengurangan dalam penggunaan kode yang berulang-ulang Demi interaksi basis data 
  • Penyederhanaan kueri yang kompleks 
  • Konsistensi dan keamanan pada interaksi basis data yang terjaga 
  • Kemudahan dalam pengelolaan Rekanan antar basis data 

Fungsi Eloquent ORM 

Fungsi Eloquent ORM sebagai query builder untuk menulis query sql dengan lebih terstruktur
Ilustrasi Query SQL dalam Query Builder (Sumber Freepik)
  • Kemudahan interaksi dengan database, yang memungkinkan operasi data menjadi lebih Segera dan efisien, seperti dalam menambahkan data, memperbarui data, dan menghapus data. 
  • Berintegrasi dengan pola desain MVC secara langsung, sehingga model Eloquent ORM dapat mewakili data dalam database dan mengelola logika bisnis dengan model sederhana agar view dan controller dapat Konsentrasi pada tugasnya masing-masing
  • Rekanan antar model, dimana Eloquent ORM pada Laravel menyediakan Interaksi antar model yang mencakup one-to-one, one-to-many, many-to-one, dan many-to-many yang memungkinkan pengembang lebih mudah dalam menggunakan dan menambahkan data terkait antar model.
  • Query builder, dimana fitur ini dapat dan Kagak berorientasi pada model seperti Eloquent. Query builder juga cocok Demi Membangun query yang lebih rumit dengan metode channing
  • Validasi data, dimana fitur ini digunakan Demi melakukan validasi data Demi memastikan keakuratannya sebelum akhirnya disimpan ke dalam basis data. 
READ  Mengenal Jaringan Routing beserta 2 Jenisnya dan Fungsinya

Penggunaan Eloquent ORM Pada Laravel

Sebelum memulai Demi Membangun model dan migrasi yang akan merepresentasikan tabel dalam database, pastikan Anda telah menginstal Laravel dan melakukan konfigurasi proyek. 

Membangun model Eloquent ORM

Tahap ini Anda akan Membangun model yang digunakan Demi mewakili tabel dalam basis data dan Membangun migrasi Demi datanya. 

Jalankan perintah ini Demi Membangun model Eloquent.

php artisan make:model NamaModel 

Perintah tersebut akan Membangun data NamaModel.php di database app/Models.

Lewat buka data NamaModel.php dan edit sesuai dengan kebutuhan Anda 

Melakukan operasi data CRUD dengan Eloquent 

operasi data update dengan eloquent ORM
Operasi Data Update dengan Eloquent ORM (Sumber: Laravel)

Setelah model terbentuk, Anda dapat menggunakannya Demi mengoperasikan data dengan create, read, update, atau delete dalam database. 

Teladan Create: 

$user = new User;

$user ⤏ name = ‘Eve Dawn’;

$user ⤏ email = ‘[email protected]’;

$user ⤏ password = ‘password’;

$user ⤏ save( ); 

Teladan Read:

$user = User: : find(1);  // mencari user dengan ID 1 

READ  Pengertian, Tanggung Jawab, dan Gaji

// menampilkan Seluruh user 

$user = User: : all ( );

Teladan Update:

$user = User: : find (1);

$user ⤏ name = ‘Eve Dawn’;

$user ⤏ save ( );

Teladan Delete:

$user = User : : find (1)

$user ⤏ delete ( );

Interaksi Antar Model Eloquent ORM

Rekanan antar model mengacu pada Interaksi atau interaksi antar tabel di dalam basis data yang mencakup:

One-to-One 

Adalah satu model yang dihubungkan dengan satu model lainnya.

Seperti ketika Anda Mempunyai tabel user dan profiles. Sehingga Interaksi ini mengacu pada setiap user Mempunyai satu profil dan satu profil dimiliki satu user.

Langkah di model User dengan menambahkan metode ini:

public function profile()

return $this⤏hasOne (Profile::class);

}

# Method hasOne( ) di model User menjabarkan Rekanan one-to-one dengan model Profile.

Langkah model Profile yang menambahkan metode ini:

public function user()

return $this⤏belongsTo (User::class);

}

# Method belongsTo( ) di model Profile menjabarkan Rekanan belongs-to dengan model User.

Teladan penggunaannya one-to-one:

// Mendapatkan profil user 

$user = User::find(1);

$profile = $user⤍profile;

// Menambahkan profil ke user 

$user = User::find (1);

$profile = new profile;

$profile⤍name = ‘Eve Dawn’;

$user⤍profile()⤍save( );

One-to-Many

Adalah satu model yang dihubungkan dengan banyak model lainnya. 

Seperti ketika Anda Mempunyai tabel users dan posts. Sehingga Interaksi ini mengacu pada setiap user Mempunyai banyak posts dan setiap post hanya dimiliki satu user.

Langkah model User yang menambahkan metode ini:

public function posts()

{

return $this⤏hasMany (Post::class);

}

#Method hasMany( ) di model User menjabarkan Rekanan one-to-many dengan model Post.

Langkah Model Post yang menambahkan metode berikut:

public function user()

{

return this⤏belongsTo(User: : class);

}

#Method belongsTo( ) di model Post menjabarkan Rekanan belongs-to dengan model User.

Teladan penggunaan one-to-many:

// Mendapatkan Seluruh post dari user 

READ  Pengertian, Jenis-Jenis, Bidang, dan 10 Contohnya

$user = User::find(1);

$profile = $user⤍posts;

// Menambahkan profil ke user 

$user = User::find(1);

$post = new post;

$post⤍title = ‘My First Post’;

$user⤍posts()⤍save($post);

Many-to-Many

Adalah banyak model yang dihubungkan dengan banyak model lainnya. 

Seperti ketika Anda Mempunyai tabel users dan roles. Sehingga Interaksi ini mengacu pada setiap user dapat Mempunyai banyak roles dan setiap role dapat dimiliki banyak users.

Langkah Membangun model pivot UserRole:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class UserRole extends Model 

{

// Menentukan nama tabel 

protected $table = ‘user_roles’;

// Menentukan kolom yang Dapat diisi 

protected $fillable = [

‘user_id’,

‘user_id’,

];

}

#Method UserROle digunakan sebagai model pivot Demi Rekanan many-to-many dengan model Post.

Lewat, langkah model User yang ditambahkan metode berikut:

public function roles()

{

return $this⤏belongsToMany (Role::class, ‘user_roles’);

}

Langkah model Role yang ditambahkan dengan metode berikut:

public function users()

{

return $this⤏belongsToMany (User::class, ‘user_roles’);

}

#Method belongToMany( ) di model User dan Role menjabarkan Rekanan many-to-many dengan model Role dan User. 

Teladan penggunaan many-to-many:

// Mendapatkan Seluruh roles dari user

$user = User::find(1);

$roles = $user⤍roles;

// Menambahkan role ke user 

$user = User::find(1);

$role = Role

Konklusi 

Eloquent ORM dalam Laravel memungkinkan developer mengelola operasi data dengan mudah tanpa harus menulis ulang manual query SQL. 

Dengan fungsi-fungsi yang dapat dipergunakan Demi create, read, update, dan delete data dalam suatu website yang membutuhkan interaksi dengan basis data, ini tentu sangat memudahkan kinerja para pengembang. 

Tetapi, Kalau Anda Tetap merasa kesulitan Demi mengoperasikannya Demi website, Anda dapat menggunakan layanan kami Demi Membangun website. 

Sandi Dharma hadir dengan jasa pembuatan website yang telah dipercaya melayani lebih dari 100 proyek dari berbagai Area di Indonesia. Kalau Anda berminat dengan jasa kami, silakan mengunjungi laman kontak kami!