Berikut ini adalah tutorial untuk menampilkan data dari database mysql di Laravel. Untuk menampilkan database di laravel bisa dengan menggunakan model.
Model di laravel digunakan untuk berbagai tugas yang berhubungan dengan database, mulai dari menampilkan data, update, insert, dan hapus data.
Dengan menggunakan model di laravel kita tidak perlu lagi menggunakan query sql, dimana setiap tugas yang terjadi di database di tangani oleh model eloquent laravel.
Cara Menampilkan Data Dari Database
Berikut ini adalah cara menampilkan data dari database di laravel menggunakan model eloquent. Namun perlu di ingatkan bahwa tutorial ini adalah lanjutan dari tutorial sebelumnya sehingga pembaca perlu mengarah pada tutorial Membuat Database MySQL Di Laravel.
Karena database dan table yang digunakan sesuai dengan tutorial sebelumnya, sehingga jika anda tidak mengikuti tutorial sebelumnya akan ada kesalahpahaman.
Menampilkan satu data dari database
Buatlah sebuah controller dengan nama SiswaController
dengan perintah dibawah ini.
php artisan make:controller SiswaController
Lalu buka file SiswaController.php dan definisikan model Siswa ke dalam SiswaController
tersebut dengan cara meletakan kode dibawah ini tepat dibawah Illuminate\Http\Request
atau diatas class SiswaController
.
use App\Models\Siswa;
Code language: PHP (php)
Lalu tambahkan method dibawah ini:
public function tampilkanSatuSiswa()
{
$siswa = Siswa::find(1);
return $siswa->nama;
}
Code language: PHP (php)
Dan apabila dilihat keseluruhan kode SiswaController
akan seperti kode dibawah ini:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Siswa;
class SiswaController extends Controller
{
public function tampilkanSatuSiswa()
{
$siswa = Siswa::find(1);
return $siswa->nama;
}
}
Code language: HTML, XML (xml)
Perhatikan fungsi find()
, fingsi find()
digunakan untuk mengambil data secara spesifik berdasarkan kolom id yang ada di table database.
Jika anda ingin menunjuk selain kolom id maka perlu menggunakan where()
sebagai gantinya untuk menentukan secara spesifik berdasarkan kolom tertentu. Misalnya seperti dibawah ini.
Model::where('key', 'value')->first();
Code language: PHP (php)
first()
digunakan untuk menampilkan hanya satu record saja yang tampil dari database.
Setelah itu tambahkan route dibawah ini:
Route::get('/tampilkan-satu-siswa', 'App\Http\Controllers\SiswaController@tampilkanSatuSiswa');
Code language: PHP (php)
Selanjutnya bukalah browser anda dan ketikan URL seperti dibawah ini.
http://127.0.0.1:8000/tampilkan-satu-siswa
Maka akan tampil seperti gambar dibawah ini:
Nama Dr. Kellen Greenfelder I pada tampilan browser diatas berdasarkan nama data dummy yang sudah dibuat pada tutorial sebelumnya. Sehingga mungkin akan berbeda dengan data yang ada di projek laravel pembaca.
Menampilkan semua data dari database
Untuk menampilkan semua data dapat menggunakan fungsi get()
. Fungsi get ini akan menampilkan seluruh data yang ada di table anda tanpa terkecuali. Berikut ini caranya.
Buka kembali controller SiswaController
lalu buatlah method tampilkanSemuaSiswa()
dan isi seperti kode dibawah ini:
public function tampilkanSemuaSiswa()
{
$siswas = Siswa::get();
foreach($siswas as $siswa) {
echo $siswa->nama . '<br>';
}
}
Code language: PHP (php)
Maka apabila kita lihat keseluruhan kode SiswaController
akan menjadi seperti dibawah ini:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Siswa;
class SiswaController extends Controller
{
public function tampilkanSatuSiswa()
{
$siswa = Siswa::find(1);
return $siswa->nama;
}
public function tampilkanSemuaSiswa()
{
$siswas = Siswa::get();
foreach($siswas as $siswa) {
echo $siswa->nama . '<br>';
}
}
}
Code language: HTML, XML (xml)
Selanjutnya tambahkan route seperti dibawah ini:
Route::get('/tampilkan-semua-siswa', 'App\Http\Controllers\SiswaController@tampilkanSemuaSiswa');
Code language: PHP (php)
Setelah itu silahkan akses URL dibawah ini di browser anda.
http://127.0.0.1:8000/tampilkan-semua-siswa
Maka akan tampil seperti dibawah ini:
Semua data yang ada di table siswa tersebut akan muncul di browser, kalau kita cermati tidak ada sedikitpun query sql yang digunakan, itulah kelebihan eloquent di laravel.
Semoga tutorial ini bermanfaat, dan terus ikuti seri dari tutorial berikutnya.