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!
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
danDB_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 kolomcreated_at
danupdated_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