Artikel

Apa itu Laravel Eloquent, cara menggunakannya, tutorial dengan contoh

Framework Laravel PHP menyertakan Eloquent Object Relational Mapper (ORM), yang menyediakan cara yang sangat mudah untuk berkomunikasi dengan database. 

Laravel dan Eloquent membantu mempercepat pengembangan aplikasi dan platform, memberikan solusi yang memadai untuk sebagian besar masalah. Persyaratan ditangani dengan pengembangan yang lebih cepat, serta kode yang terorganisir dengan baik, dapat digunakan kembali, dapat dipelihara, dan dapat diskalakan. 

Bagaimana Eloquent bekerja

Pengembang dapat bekerja di Eloquent dengan banyak database secara efisien menggunakan implementasi ActiveMethod. Ini adalah pola arsitektur di mana model yang dibuat dalam struktur Model-View-Controller (MVC) berhubungan dengan tabel di database. Keuntungannya adalah model melakukan operasi database umum tanpa mengkodekan kueri SQL yang panjang. Templat memungkinkan Anda membuat kueri data dalam tabel dan menyisipkan catatan baru ke dalam tabel. Proses sinkronisasi beberapa database yang berjalan pada sistem berbeda disederhanakan. Anda tidak perlu menulis kueri SQL. Yang harus Anda lakukan adalah defiSelesaikan tabel database dan hubungan di antara mereka, dan Eloquent akan melakukan sisanya.

Persiapan laravel

Menghargai utilitas Eloquent ORM, dan memahami ekosistem adalah suatu keharusan. Langkah-langkah untuk memulai:

  1. Instal Laravel dari getcomposer.org, untuk melakukannya ikuti petunjuk di sini
  2. Penciptaan migration menggunakan konsol Artisan
  3. Membuat template eloquent
  4. lari saya seed dari basis data

Artisan Console adalah nama antarmuka baris perintah yang termasuk dalam Laravel. Menyediakan satu set perintah yang berguna untuk digunakan saat mengembangkan aplikasi Anda. Itu didorong oleh komponen yang kuat Symfony Console.

Untuk melihat daftar semua perintah Artisan yang tersedia, Anda dapat menggunakan perintah daftar:

php artisan list

Semua perintah dilengkapi dengan deskripsi singkat tentang argumen dan opsinya. Ini ditampilkan di layar "bantuan". Untuk menampilkan layar bantuan, awali nama perintah dengan "bantuan" seperti yang ditunjukkan:

php artisan help migrate

Migration

Migrasi adalah proses manajemen basis data dengan menulis PHP sebagai gantinya SQL. Menyediakan cara untuk menambahkan kontrol versi ke database. 

Untuk membuat migrasi, cukup jalankan perintah berikut:

php artisan make:migration create_student_records

Ini membuat file migrasi. Di editor teks Anda, buka file yang baru saja Anda buat di folder database\migrations:

<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateStudentRecordsTable extends Migration
{
    /**
    * Run the migrations.
    *
    * @return void
    */
    public function up()
    {
        Schema::create('student__records', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
    * Reverse the migrations.
    *
    * @return void
    */
    public function down()
    {
        Schema::dropIfExists('student__records');
    }
}

Kode tersebut adalah kelas dengan nama yang sama 'create student records', dan memiliki dua metode: atas dan bawah. Metode up harus membuat perubahan pada database; jadi setiap kali Anda memigrasi database Anda, kode apa pun dalam metode up akan dieksekusi. Di sisi lain, metode turun harus mengembalikan perubahan basis data tersebut; jadi setiap kali Anda menjalankan rollback dari migration, metode down harus membatalkan apa yang dilakukan metode up. Di dalam metode up ada pembuat skema yang digunakan untuk membuat dan memanipulasi tabel. Apa yang terjadi jika Anda membatalkan beberapa migrasi Anda? Yang harus Anda lakukan adalah menerapkan perintah berikut:

php artisan migrate:rollback

Dan dia akan mengumpulkan yang terakhir migration yang telah dilaksanakan. Selain itu, Anda dapat sepenuhnya memulihkan database dengan menjalankan:

php artisan migrate:reset

Ini akan membatalkan semua migrasi Anda.

Defition dari model Eloquent

Setelah migrasi database selesai, proses selanjutnya adalah seedingEloquent mulai berlaku sejak seeding memasukkan catatan ke dalam database kami. Jadi, Anda harus membuat template sebelum mengisi database. Setiap tabel database memiliki model yang sesuai yang digunakan untuk berinteraksi dengan tabel tersebut. Templat memungkinkan Anda mengkueri data di tabel Anda, serta menyisipkan rekaman baru ke dalam tabel. Cara termudah untuk membuat model adalah dengan menggunakan perintah berikut:

php artisan make:model Student
Contoh template ditunjukkan di bawah ini Student, yang dapat digunakan untuk mengambil dan menyimpan informasi dari tabel database siswa kami:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Saat Anda membuat model dan pada saat yang sama ingin membuat migrasi database, Anda dapat menggunakan opsi ini –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

Pembibitan

Seeder keseluruhan adalah sekumpulan kelas khusus yang memungkinkan kita untuk mengisi database berulang kali dengan data yang sama persis. Kami menerapkan perintah berikut:

php artisan make:seeder StudentsRecordSeeder

Di editor teks, di bawah folder seed, buka file yang baru dibuat dengan nama file: StudentsRecordSeeder.php. Seperti yang Anda lihat, ini hanyalah kelas yang sangat sederhana dengan satu metode yang disebut run,

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

Kode hanyalah pembungkus di sekitar kelas perintah konsol, yang dibuat khusus untuk membantu tugas seeding. Edit kode lalu simpan.

Buletin inovasi
Jangan lewatkan berita terpenting tentang inovasi. Daftar untuk menerimanya melalui email.
public function run()
{
    echo 'Seeding!';
}

Dan pergi ke terminal:

php artisan db:seed --class=StudentsRecordSeeder

Sekarang Anda dapat mengisi tabel dengan beberapa entri dan menjalankan:

php artisan db:seed --class=class=StudentsRecordSeeder

Di sini Anda dapat terus menghapus, menambahkan, memodifikasi entri di DB, lalu mengembalikannya dengan perintah sederhana.

CRUD dengan Laravel Eloquent

Operasi CRUD dengan Laravel Eloquent object-relational mapper (ORM) memudahkan developer Laravel untuk bekerja dengan banyak database. Itu melakukan operasi buat, baca, perbarui, dan hapus (CRUD), dan petakan model objek ke tabel database. Menangani semua interaksi basis data yang diperlukan untuk operasi CRUD.

Pembuatan catatan

Anda dapat menggunakan metode ::create untuk memasukkan record baru ke dalam database.

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

Selain metode pembuatan sederhana yang ditunjukkan di atas, Anda juga dapat membuat objek baru dan memberinya atribut yang berbeda. Kemudian, Anda dapat memanggil fungsi save() dan menjalankan kodenya. Metode seperti firstOrCreate() atau firstOrNew() adalah opsi lain untuk membuat record. Ini akan memungkinkan Anda menemukan siswa dengan atribut tertentu; jika siswa itu tidak ditemukan, Anda akan membuatnya di database atau membuat instance baru.

Membaca catatan

Menggunakan Eloquent ORM, Anda dapat menemukan record di database Anda. Kueri dibuat sederhana dan menawarkan alur yang lancar. Untuk membuat pernyataan::where, Anda akan menggunakan metode get() Dan first(). Metode first() hanya akan mengembalikan satu record, sedangkan method get() akan mengembalikan larik catatan yang dapat diulang. Juga, metodenya find() dapat digunakan dengan larik kunci primer, yang akan mengembalikan kumpulan rekaman yang cocok. Berikut beberapa contohnya:

$student = Students::all();

Kode ini mendapatkan semua siswa. Sementara kode berikut menemukan siswa tertentu berdasarkan ID:

$mahasiswa = Mahasiswa::temukan(1);

Juga, seperti yang ditunjukkan di bawah ini, kode menjelaskan pencarian siswa berdasarkan atribut tertentu.

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

Untuk metode get(), kode ini menunjukkan cara menemukan siswa dengan level di atas 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Rekam pembaruan

Memperbarui catatan menggunakan Eloquent sama mudahnya. Untuk memperbarui catatan, cukup temukan catatan yang ingin Anda perbarui, edit atributnya, dan simpan. Misalnya, untuk mengubah tingkat kelas siswa John Doe menjadi 5, pertama-tama temukan siswanya lalu jalankan metode simpan.

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

Metode save juga dapat digunakan untuk mengupdate model yang sudah ada di database.

Hapus rekaman

Eloquent membanggakan proses pembaruan catatannya yang mudah, tetapi memiliki cerita yang sama dengan penghapusan. Ada dua opsi: tarik catatan dan jalankan metode hapus, atau cukup gunakan metode penghancuran. Untuk menemukan dan menghapus catatan, cukup jalankan perintah berikut:

$student = Students::find(1);
$student->delete();

Untuk menghapus catatan dan banyak catatan, perintah dijalankan:

Students::destroy(1);
Students::destroy(1, 2, 3);

Perhatikan bahwa parameter penghancuran hanyalah kunci utama tidak seperti metode hapus yang dapat menerima kolom basis data apa pun.

Untuk mencari dan menghapus semua siswa di atas level 10.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Buletin inovasi
Jangan lewatkan berita terpenting tentang inovasi. Daftar untuk menerimanya melalui email.

Artikel Terbaru

Intervensi inovatif dalam Augmented Reality, dengan penampil Apple di Poliklinik Catania

Operasi oftalmoplasti menggunakan penampil komersial Apple Vision Pro dilakukan di Poliklinik Catania…

3 Mei 2024

Manfaat Halaman Mewarnai untuk Anak - dunia keajaiban untuk segala usia

Mengembangkan keterampilan motorik halus melalui mewarnai mempersiapkan anak untuk keterampilan yang lebih kompleks seperti menulis. Mewarnai…

2 Mei 2024

Masa Depan Ada di Sini: Bagaimana Industri Perkapalan Merevolusi Perekonomian Global

Sektor angkatan laut adalah kekuatan ekonomi global sejati, yang telah menuju pasar 150 miliar...

1 Mei 2024

Penerbit dan OpenAI menandatangani perjanjian untuk mengatur aliran informasi yang diproses oleh Kecerdasan Buatan

Senin lalu, Financial Times mengumumkan kesepakatan dengan OpenAI. FT melisensikan jurnalisme kelas dunianya…

April 30 2024