
Selamat datang kembali di website asepit yang selalu memberikan informasi mengenai dunia Teknologi khususnya pada bidang Komputer, Pemrograman, dan juga Jaringan. Bagaimana kabar kalian semua mudah - mudahan dalam keadaan sehat wal afiat dan selalu dilancarkan rezekinya, Pada kesempatan kali ini saya akan membahas mengenai cara menyimpan data multiple select value pada Laravel. Oke kita langsung saja ke langkah - langkah nya
1. Instal projek laravel / bisa langsung saja diterapkan pada projek yang sedang tahap pengembangan kita
composer create-project laravel/laravel multiple_select -vvv
Lanjut ke konfigurasi Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=select-multiple
DB_USERNAME=username
DB_PASSWORD=password
2. Kemudian buat akses login dengan menjalankan perintah berikut
php artisan make:auth
Kemudian migrate database
php artisan migrate:refresh
3. Tambah pada migration user dengan kolom Colors dengan type data json atau juga bisa dengan type data integer
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->json('colors');
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->integer('colors');
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
Tambahkan juga pada model User dan lakukan migrate ulang
protected $fillable = [
'name', 'email', 'password', 'colors'
];
php artisan migrate:refresh
4. Tambahkan route baru untuk langkah pengujiannya
Route::get('create', 'HomeController@create')->name('home.create');
Route::post('form/store', 'HomeController@store')->name('home.store');
Lanjut untuk penambahan method create & store pada HomeController
* Type data Json
public function create()
{
return view('create');
}
public function store(Request $request)
{
$user = new User();
$user->name = $request->name;
$name = strtolower($request->name);
$user->email = str_replace(' ', '',$name."@gmail.com");
$user['colors'] = json_encode($request->colors);
$user->password = bcrypt('12345678');
$user->save();
return redirect()->route('home');
}
* Type data Integer
public function create()
{
return view('create');
}
public function store(Request $request)
{
foreach ($request->colors as $row => $val) {
$user = new User();
$user->name = $request->name;
$name = strtolower($request->name);
$user->email = str_replace(' ', '',$name."@gmail.com");
$user->colors = $request->colors[$row];
$user->password = bcrypt('12345678');
$user->save();
}
return redirect()->route('home');
}
5. Pada view Create nya kurang lebih seperti ini
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header text-center">Implement Multiple Select Value</div>
<div class="card-body">
<form action="{{ route('home.store') }}" method="post">
@csrf
<div class="form-group">
<div class="col-sm-10">
<label for="">Nama Pengguna</label>
<input type="text" name="name" class="form-control">
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<label for="">Warna Favorit *</label>
<select name="colors[]" class="form-control select2" multiple>
<option value="" disabled selected>Silahkan Pilih Warna</option>
<option value="1">Hitam</option>
<option value="2">Putih</option>
<option value="3">Merah</option>
<option value="4">Hijau</option>
<option value="5">Kuning</option>
</select>
</div>
</div>
<div class="text-right">
<button type="submit" class="btn btn-success">Simpan</button>
<a href="{{ route('home') }}" class="btn btn-danger">Kembali</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
6. Untuk hasil dari penyimpanan data pada database nya kurang lebih menjadi seperti ini
Mungkin hanya itu untuk pembahasan kali ini, saya mohon ma'af bila dalam penyampaian serta penulisan terdapat sebuah kesalahan. Jangan lupa ikuti juga platform ASEP IT lainnya dibawah ini, saya cukupkan sekian dan Terima Kasih...
Website klik disini
Youtube klik disini
Fans Page klik disini
Comments