Laravel - Pengerjaan Dengan Database

Hai teman-teman yang sedang berambisi menjadi pengembang! Saya sangat gembira untuk membawa Anda dalam perjalanan menarik melalui dunia yang menarik Laravel dan manajemen database. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa menjamin Anda bahwa menguasai operasi database seperti belajar menunggang sepeda - mungkin terlihat menakutkan pada awalnya, tapi setelah Anda mengenalinya, Anda akan bisa mengembangkan proyek Anda dengan mudah!

Laravel - Working With Database

Menghubungkan ke Database

Ayo mulai dari dasar-dasar - menghubungkan ke database. PERTAMA KALI ini seperti memperkenalkan aplikasi Laravel Anda ke teman barunya, yaitu database. Mereka perlu saling kenal sebelum dapat bekerja bersama!

Konfigurasi

Pertama-tama, kita perlu memberitahu Laravel dimana mencari database kita dan bagaimana mengaksesnya. Laravel membuat ini sangat mudah dengan file konfigurasinya. Buka file .env di root proyek Anda, dan Anda akan melihat sesuatu seperti ini:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Baris-baris ini seperti memberikan Laravel peta ke database Anda. Ayo pecahkan ini:

  • DB_CONNECTION: Jenis database yang Anda gunakan. MySQL adalah default, tapi Laravel mendukung yang lain pula.
  • DB_HOST: Dimana database Anda berada. Untuk pengembangan lokal, biasanya adalah komputer Anda sendiri (127.0.0.1).
  • DB_PORT: Nomor pintu yang Laravel harus meng-knock untuk mengakses database.
  • DB_DATABASE: Nama database Anda.
  • DB_USERNAME dan DB_PASSWORD: Genggaman rahasia Anda untuk masuk ke database.

Pemeriksaan Koneksi

Sekarang kita telah memperkenalkan Laravel ke database, mari kita pastikan mereka saling menjalan. Kita dapat melakukan ini dengan perintah artisan sederhana:

php artisan tinker

Sekarang, coba untuk menghubungkan:

DB::connection()->getPdo();

Jika Anda melihat string panjang angka dan huruf, selamat! Aplikasi Laravel Anda dan database sekarang adalah teman terbaik.

Membuat Tabel

Sekarang kita telah terhubung, itu waktunya untuk membuat beberapa tabel. Dalam dunia database, tabel seperti spreadsheet tempat kita menyimpan data.

Migrasi

Laravel menggunakan sesuatu yang disebut "migrasi" untuk membuat dan memodifikasi tabel. Anggap migrasi seperti mesin waktu untuk database Anda - mereka memungkinkan Anda untuk bergerak ke depan dan ke belakang dalam sejarah database Anda.

Untuk membuat migrasi, gunakan perintah artisan ini:

php artisan make:migration create_users_table

Ini akan membuat file baru di folder database/migrations. Buka file ini, dan Anda akan melihat sesuatu seperti ini:

public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}

Ini seperti blueprint untuk tabel Anda. Ayo pecahkan ini:

  • $table->id(): Membuat kolom ID auto-increment.
  • $table->string('name'): Membuat kolom untuk menyimpan nama.
  • $table->string('email')->unique(): Membuat kolom email unik.
  • $table->timestamp('email_verified_at')->nullable(): Membuat kolom timestamp yang_nullable.
  • $table->string('password'): Membuat kolom untuk menyimpan password.
  • $table->rememberToken(): Membuat kolom untuk menyimpan token "ingat saya".
  • $table->timestamps(): Membuat kolom created_at dan updated_at.

Untuk benar-benar membuat tabel ini di database Anda, jalankan:

php artisan migrate

Dan voila! Tabel Anda telah dibuat.

Memasukkan Data

Sekarang kita memiliki tabel, mari kita masukkan beberapa data ke dalamnya. Ada beberapa cara untuk melakukan ini di Laravel.

Menggunakan Eloquent

Eloquent adalah ORM (Object-Relational Mapping) bawaan Laravel. Itu seperti penerjemah antara kode PHP Anda dan database Anda. Berikut adalah cara Anda dapat menggunakan itu untuk memasukkan data:

use App\Models\User;

$user = new User;
$user->name = 'John Doe';
$user->email = '[email protected]';
$user->password = bcrypt('password');
$user->save();

Dalam contoh ini, kita membuat objek User baru, mengatur propertinya, dan kemudian menyimpannya ke database. Itu sungguh-sungguh mudah!

Menggunakan Query Builder

Jika Anda lebih suka pendekatan yang lebih mirip SQL, Anda dapat menggunakan Query Builder:

DB::table('users')->insert([
'name' => 'John Doe',
'email' => '[email protected]',
'password' => bcrypt('password'),
]);

Metode ini lebih langsung - kita mengatakan secara tepat ke mana Laravel harus memasukkan data dan apa data yang digunakan.

Mengambil Data

Sekarang kita telah memasukkan data ke dalam database, mari kita belajar bagaimana mengambilnya kembali.

Menggunakan Eloquent

Untuk mengambil semua pengguna:

$users = User::all();

Untuk menemukan pengguna tertentu:

$user = User::find(1);

Untuk mengambil pengguna dengan syarat:

$users = User::where('name', 'John Doe')->get();

Menggunakan Query Builder

Untuk mengambil semua pengguna:

$users = DB::table('users')->get();

Untuk menemukan pengguna tertentu:

$user = DB::table('users')->where('id', 1)->first();

Untuk mengambil pengguna dengan syarat:

$users = DB::table('users')->where('name', 'John Doe')->get();

Memperbarui Data

Memperbarui data sama mudahnya seperti memasukkannya. Mari kita lihat beberapa metode.

Menggunakan Eloquent

$user = User::find(1);
$user->name = 'Jane Doe';
$user->save();

Menggunakan Query Builder

DB::table('users')
->where('id', 1)
->update(['name' => 'Jane Doe']);

Menghapus Data

Akhirnya, mari kita belajar bagaimana menghapus data dari database kita.

Menggunakan Eloquent

$user = User::find(1);
$user->delete();

Menggunakan Query Builder

DB::table('users')->where('id', 1)->delete();

Dan itu saja! Anda telah belajar dasar-dasar kerja dengan database di Laravel. Ingat, latihan membuat sempurna. Jangan khawatir untuk mencoba dan mencoba berbagai jenis query. Sebelum Anda menyadari, Anda akan menjadi ahli database!

Berikut adalah tabel referensi ringkas dari metode yang kita pelajari:

Operasi Eloquent Query Builder
Memasukkan $user = new User; $user->save(); DB::table('users')->insert([]);
Mengambil Semua User::all(); DB::table('users')->get();
Mengambil Satu User::find(1); DB::table('users')->where('id', 1)->first();
Mengambil Dengan Syarat User::where('name', 'John Doe')->get(); DB::table('users')->where('name', 'John Doe')->get();
Memperbarui $user->save(); DB::table('users')->where('id', 1)->update([]);
Menghapus $user->delete(); DB::table('users')->where('id', 1)->delete();

Selamat coding, para ahli database masa depan!

Credits: Image by storyset