LARAVEL DATABASE
1.1 TIK
Setelah menyelesaikan materi ini diharapkan mahasiswa akan dapat
1. Menjelaskan akses database di framework Laravel
2. Menjelaskan setting database di sistem Laravel
3. Melakukan akses database CRUD dalam pemrograman framework Laravel
Laravel Framework menyediakan berbagai metode untuk berinteraksi dengan basis data
aplikasi.Tapi, Eloquent paling populer, Laravel's ActiveRecord ORM (object-relational
mapper). Laravel memungkinkan pengembang untuk berinteraksi dengan beragam basis data
menggunakan SQL mentah, pembuat kueri yang lancar, dan Eloquent ORM. Panduan Koneksi
Database Laravel ini akan membantu Anda memahami pengaturan konfigurasi yang diperlukan
dan cara menggunakan kueri SQL mentah untuk menjalankan operasi baca, tulis, perbarui, dan
hapus.
Untuk mengkonfigurasi koneksi basis data Laravel, Laravel mendukung banyak platform basis
data dan kami dapat memilih salah satu dari mereka untuk mengembangkan aplikasi kami:
MySQL
PostgreSQL
SQLite
SQL Server
MySQL adalah salah satu platform paling populer dan gratis untuk pengembangan basis data
<? php
kembali [
/*
| ------------------------------------------------- -------------------------
| Nama Koneksi Database Default
| ------------------------------------------------- -------------------------
|
| Di sini Anda dapat menentukan koneksi database mana di bawah yang Anda inginkan
| untuk digunakan sebagai koneksi default Anda untuk semua pekerjaan basis data. Tentu saja
| Anda dapat menggunakan banyak koneksi sekaligus menggunakan perpustakaan Database.
|
*/
'koneksi' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => env ('DB_DATABASE', database_path ('database.sqlite')),
'awalan' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env ('DB_HOST', 'localhost'),
'port' => env ('DB_PORT', '3306'),
'database' => env ('DB_DATABASE', 'forge'),
'username' => env ('DB_USERNAME', 'forge'),
'kata sandi' => env ('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'awalan' => '',
'ketat' => salah,
'engine' => null,
],
DB_CONNECTION = mysql
DB_HOST = 127.0.0.1
DB_PORT = 3306
DB_DATABASE = db_demo
DB_USERNAME = pengguna
DB_PASSWORD = kata sandi
Jadi, berikut ini adalah langkah - langkah dasar untuk terhubung ke database MySQL di
Laravel:
Langkah 1 - Buat Database baru menggunakan antarmuka PhpMyAdmin
Langkah2 - Ubah properti berikut di file .env Anda sesuai dengan pengaturan database Anda.
Langkah 3 - Jalankan Migrasi. Ini akan secara otomatis membuat tabel.
Nama yang diteruskan ke metode koneksi harus sesuai dengan salah satu koneksi yang terdaftar
di file konfigurasi config / database.php Anda.
DB :: disconnect ('foo');
$ terpengaruhRows = DB :: update ('perbarui guru menetapkan suara = 100 di mana nama =?',
['ABC']);
Name varchar(25)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=College
DB_USERNAME=root
DB_PASSWORD=
b. Tambahkan ke file
app/Http/Controllers/StudInsertController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
<body>
<form action = "/create" method = "post">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
<table>
<tr>
<td>Name</td>
<td><input type='text' name='stud_name' /></td>
</tr>
<tr>
<td colspan = '2'>
<input type = 'submit' value = "Add student"/>
</td>
</tr>
</table>
</form>
</body>
</html>
d. tambahkan routes/web.php.
Route::get('insert','StudInsertController@insertform');
Route::post('create','StudInsertController@insert');
b. tambahkan ke file
app/Http/Controllers/StudViewController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
c. Buat file
resources/views/ stud_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border = 1>
<tr>
<td>ID</td>
<td>Name</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
</tr>
@endforeach
</table>
</body>
</html>
e. Tes
http://localhost:8000/view-records
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
c. Buat File
resources/views/stud_edit_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
d. Buat file
resources/views/stud_update.php
<html>
<head>
<title>Student Management | Edit</title>
</head>
<body>
<form action = "/edit/<?php echo $users[0]->id; ?>" method =
"post">
<input type = "hidden" name = "_token" value = "<?php echo
csrf_token(); ?>">
<table>
<tr>
<td>Name</td>
<td>
<input type = 'text' name = 'stud_name'
value = '<?php echo$users[0]->name; ?>'/>
</td>
</tr>
<tr>
<td colspan = '2'>
<input type = 'submit' value = "Update student" />
</td>
</tr>
</table>
</form>
</body>
</html>
f. Tes
http://localhost:8000/edit-records
6. Hapus record
a. Buat file StudDeleteController.
php artisan make:controller StudDeleteController --plain
b. Tambahkan kode
app/Http/Controllers/StudDeleteController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
c. Buat file
resources/views/stud_delete_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border = "1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Edit</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td><a href = 'delete/{{ $user->id }}'>Delete</a></td>
</tr>
@endforeach
</table>
</body>
</html>
d. Tambahkan di routes/web.php.
app/Http/routes.php
Route::get('delete-records','StudDeleteController@index');
Route::get('delete/{id}','StudDeleteController@destroy');
e. Tes
http://localhost:8000/delete-records
1.5 LATIHAN
Buat CRUD untuk Database Shop dengan Tabel Product yang mempunyai field
No(auto increment), Nama Item (Char), Harga (Integer), Jumlah (Integer)