Laravel - Bekerja Dengan Database

Hai sana, para pengembang bersemangat! Saya senang 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 dapat menjamin Anda bahwa menguasai operasi database adalah seperti belajar menunggang sepeda - mungkin terlihat menakutkan pada awalnya, tapi setelah Anda menguasainya, Anda akan terbang melalui proyek Anda dengan mudah!

Laravel - Working With Database

Menghubungkan ke Database

Ayo mulai dari dasar - menghubungkan ke database. PERTimbangkan ini sebagai pengenalan aplikasi Laravel Anda ke teman baru terbaiknya, database. Mereka perlu saling kenal sebelum mereka dapat mulai bekerja bersama!

Konfigurasi

Pertama-tama, kita perlu memberitahu Laravel di mana 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. Mari kitauraikan:

  • DB_CONNECTION: Ini adalah jenis database yang Anda gunakan. MySQL adalah default, tetapi Laravel mendukung yang lain pula.
  • DB_HOST: Di mana database Anda berada. Untuk pengembangan lokal, biasanya komputer Anda sendiri (127.0.0.1).
  • DB_PORT: Nomor pintu yang Laravel harus mengetuk untuk mengakses database.
  • DB_DATABASE: Nama database Anda.
  • DB_USERNAME dan DB_PASSWORD: Salam rahasia Anda untuk masuk ke database.

Pemeriksaan Koneksi

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

php artisan tinker

Ini membuka shell interaktif Laravel. Sekarang, mari kita mencoba 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 adalah seperti spreadsheet tempat kita menyimpan data.

Migrasi

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

Untuk membuat migrasi, gunakan perintah artisan ini:

php artisan make:migration create_users_table

Ini 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. Mari kitauraikan:

  • $table->id(): Membuat kolom ID auto-incrementing.
  • $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 optional.
  • $table->string('password'): Membuat kolom untuk menyimpan password.
  • $table->rememberToken(): Membuat kolom untuk menyimpan token "remember me".
  • $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 diciptakan.

Menyisipkan 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 menggunakannya untuk menyisipkan 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 begitu mudah!

Menggunakan Query Builder

Jika Anda lebih suka pendekatan yang 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 kepada Laravel untuk menyisipkan ke dalam tabel mana dan menggunakan data apa.

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 kondisi:

$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 kondisi:

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

Memperbarui Data

Memperbarui data sama mudahnya seperti menyisipkan itu. 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 bekerja dengan database di Laravel. Ingat, latihan membuat sempurna. Jangan takut untuk mencoba dan mencoba query yang berbeda. Sebelum Anda sadar, Anda akan menjadi ahli database!

Berikut adalah tabel rujukan cepat metode yang kita pelajari:

Operasi Eloquent Query Builder
Menyisipkan $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();
Memperbarui $user->save(); DB::table('users')->where('id', 1)->update([]);
Menghapus $user->delete(); DB::table('users')->where('id', 1)->delete();

Selamat coding, para master database masa depan!

Credits: Image by storyset