Cara Cara

untung99.homes: Tutorial Membuat CRUD Laravel 9 dengan Bootstrap 5


Untung99 menawarkan beragam permainan yang menarik, termasuk slot online, poker, roulette, blackjack, dan taruhan olahraga langsung. Dengan koleksi permainan yang lengkap dan terus diperbarui, pemain memiliki banyak pilihan untuk menjaga kegembiraan mereka. Selain itu, Untung99 juga menyediakan bonus dan promosi menarik yang meningkatkan peluang kemenangan dan memberikan nilai tambah kepada pemain.

Berikut adalah artikel atau berita tentang Harian untung99.homes dengan judul untung99.homes: Tutorial Membuat CRUD Laravel 9 dengan Bootstrap 5 yang telah tayang di untung99.homes terimakasih telah menyimak. Bila ada masukan atau komplain mengenai artikel berikut silahkan hubungi email kami di koresponden@untung99.homes, Terimakasih.

Assalamualaikum, Pada tutorial kali ini kita akan belajar cara membuat CRUD menggunakan Laravel versi 9. Tidak ada banyak perubahan dari versi sebelumnya dalam kasus pembuatan CRUD ini. Hanya saja yang perlu kita perhatikan, dalam menggunakan Laravel 9 ini kita harus sudah upgrade versi PHP kita minimal versi 8.

Berikut adalah tahap-tahap dalam tutorial kali ini:

  1. Install Laravel 9
  2. Konfigurasi Database
  3. Membuat Migrasi
  4. Membuat Resource Controller dan Route
  5. Membuat View
  6. Hasil Akhir

Langkah 1: Install Laravel 9

Untuk menginstall laravel 9, seperti biasa kita ketikkan perintah berikut pada terminal kita dan tunggu hingga instalasi selesai.

composer create-project --prefer-dist laravel/laravel namaprojek

Langkah 2: Konfigurasi Database

Sebelumnya buat dulu database yang akan kalian pakai pada localhost kalian (Saya asumsikan kalian sudah bisa membuat database-nya). Disini saya menggunakan MySQL pada phpMyAdmin. Setelah selesai membuat database, buka dile .env kalian, lalu setting sesuai nama, username dan password database-yang kalian buat.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel9
DB_USERNAME=root
DB_PASSWORD=


Langkah 3: Membuat Migrasi

Untuk membuat Migrasi, ketikkan perintah berikut:

php artisan make:migration create_students_table --create=students

Jika berhasil, kita akan mendapat file baru pada folder database/migrations dengan nama “2022_02_17_082500_create_students_table.php“. Sekarang kita buka file berikut, dan modifikasi file tersebut menjadi seperti berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up()
    {
        Schema::create('students', function (Blueprint $table) {
            $table->id();
            //tambahkan kode berikut
            $table->string('name');
            $table->string('kelas');
            //tambahkan kode di atas
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('students');
    }
};

Sekarang silahkan ketikkan perintah berikut:

Langkah 4: Membuat Resource Controller dan Route

Buat yang baru tahu route silahkan cek tutorial yang pernah saya buat Disini. Nah dengan resource route ini, kita sudah dapat route untuk membuat fungsi CRUD. Jadi tidak perlu repot-repot membuat masing-masing route untuk CRUD seperti post, get, delete, dan update. 

Tapi sebelumnya kita buat controller untuk user dahulu, kita sudah punya model user, jadi cukup buat controllernya saja. Ketikkan perintah ini di controller.

php artisan make:controller StudentController --resource 

Oke sekarang tambahkan kode berikut pada routes/web.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

//tambahkan kode berikut
Route::resource('students', StudentController::class);

Pada file Controller yang kita dapat secara otomatis akan terdapat 7 fungsi berikut yang dapat kita gunakan untuk membuat operasi CRUD.

  • index()
  • create()
  • store()
  • show()
  • edit()
  • update()
  • destroy()


Sekarang kita buka app/Http/Controllers/StudentController.php kemudian ketikkan kodenya seperti berikut ini.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  
namespace App\Http\Controllers;

use App\Models\Student;
use Illuminate\Http\Request;

class StudentController extends Controller
{

    public function index()
    {
        $students = Student::latest()->paginate(5);

        return view('students.index',compact('students'))
            ->with('i', (request()->input('page', 1) - 1) * 5);
    }

    public function create()
    {
        return view('students.create');
    }

    public function store(Request $request)
    {
        $request->validate([
            'name' => 'required',
            'kelas' => 'required',
        ]);

        Student::create($request->all());

        return redirect()->route('students.index')
                        ->with('success','Student created successfully.');
    }

    public function show(Student $student)
    {
        return view('students.show',compact('student'));
    }

    public function edit(Student $student)
    {
        return view('students.edit',compact('student'));
    }

    public function update(Request $request, Student $student)
    {
        $request->validate([
            'name' => 'required',
            'kelas' => 'required',
        ]);

        $student->update($request->all());

        return redirect()->route('students.index')
                        ->with('success','Student updated successfully');
    }

    public function destroy(Student $student)
    {
        $student->delete();

        return redirect()->route('students.index')
                        ->with('success','Student deleted successfully');
    }
}

Jangan lupa untuk setting nilai $fillable di Model Student berdasarkan data yang ingin dapat kita tambah atau edit, pada kasus ini name dan kelas

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    use HasFactory;

    //tambahkan kode berikut
    protected $fillable = [
        'name', 'kelas'
    ];
}

Saya asumsikan kalian sudah mengerti cara templating pada laravel menggunakan blade. Pertama buat folder students pada resources/views. Terakhir buat file-file berikut ini.

  • layout.blade.php
  • index.blade.php
  • create.blade.php
  • edit.blade.php
  • show.blade.php

Kemudian ketikkan kode berikut pada masing-masing file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
    Laravel 9 CRUD School Application
    <meta</> charset="utf-8">
    <meta</> name="viewport" content="width=device-width, initial-scale=1">
    <link</> href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <span>src=</span><span>"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"</span><span>>

<div</> class="container">
    @yield('content')
</span></pre>
</td>
</tr>
</tbody>
</table>
</div>
<p></br></br></br></br></br></div>
</div>
</div>
<p></html></p>
</div>
	
	</div>

	
	</article>
		</div><!-- .cm-posts -->
		
		<ul class="default-wp-page">
			<li class="previous"><a href="https://untung99.homes/2023/11/20/untung99-homes-tutorial-membuat-crud-php-dengan-mysql/" rel="prev"><span class="meta-nav"><svg class="cm-icon coloramg-icon--arrow-left-long" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 12.38a1 1 0 0 1 0-.76.91.91 0 0 1 .22-.33L6.52 7a1 1 0 0 1 1.42 0 1 1 0 0 1 0 1.41L5.36 11H21a1 1 0 0 1 0 2H5.36l2.58 2.58a1 1 0 0 1 0 1.41 1 1 0 0 1-.71.3 1 1 0 0 1-.71-.3l-4.28-4.28a.91.91 0 0 1-.24-.33Z"></path></svg></span> untung99.homes: Tutorial Membuat CRUD PHP Dengan MySQL</a></li>
			<li class="next"><a href="https://untung99.homes/2023/11/20/untung99-homes-tutorial-pasang-tali-sepatu/" rel="next">untung99.homes: Tutorial pasang tali sepatu <span class="meta-nav"><svg class="cm-icon coloramg-icon--arrow-right-long" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.92 12.38a1 1 0 0 0 0-.76 1 1 0 0 0-.21-.33L17.42 7A1 1 0 0 0 16 8.42L18.59 11H2.94a1 1 0 1 0 0 2h15.65L16 15.58A1 1 0 0 0 16 17a1 1 0 0 0 1.41 0l4.29-4.28a1 1 0 0 0 .22-.34Z"></path></svg></span></a></li>
		</ul>

		</div><!-- #cm-primary -->

	
<div id="cm-secondary" class="cm-secondary">
	
	<aside id="block-2" class="widget widget_block widget_search"><form role="search" method="get" action="https://untung99.homes/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search"><label for="wp-block-search__input-1" class="wp-block-search__label" >Cari</label><div class="wp-block-search__inside-wrapper " ><input type="search" id="wp-block-search__input-1" class="wp-block-search__input" name="s" value="" placeholder=""  required /><button type="submit" class="wp-block-search__button wp-element-button"  >Cari</button></div></form></aside><aside id="block-3" class="widget widget_block">
<div class="wp-block-group is-layout-flow">
<h2 class="wp-block-heading">Recent Posts</h2>


<ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://untung99.homes/2023/11/24/untung99-homes-yahoo-mail-membuat-email-lebih-mudah-dan-praktis/">untung99.homes: Yahoo Mail Membuat Email Lebih Mudah dan Praktis</a></li>
<li><a class="wp-block-latest-posts__post-title" href="https://untung99.homes/2023/11/24/untung99-homes-working-with-layers-in-the-object-manager/">untung99.homes: Working with Layers in the Object Manager</a></li>
<li><a class="wp-block-latest-posts__post-title" href="https://untung99.homes/2023/11/24/untung99-homes-working-with-text-corel-discovery-center/">untung99.homes: Working with Text Corel Discovery Center</a></li>
<li><a class="wp-block-latest-posts__post-title" href="https://untung99.homes/2023/11/24/untung99-homes-zikrillah-dwi-putra-damopolii/">untung99.homes: ZIKRILLAH DWI PUTRA DAMOPOLII</a></li>
<li><a class="wp-block-latest-posts__post-title" href="https://untung99.homes/2023/11/24/untung99-homes-xml-schema-tutorial/">untung99.homes: XML Schema Tutorial</a></li>
</ul></div>
</aside><aside id="block-4" class="widget widget_block">
<div class="wp-block-group is-layout-flow">
<h2 class="wp-block-heading">Recent Comments</h2>


<ol class="wp-block-latest-comments"><li class="wp-block-latest-comments__comment"><article><footer class="wp-block-latest-comments__comment-meta"><a class="wp-block-latest-comments__comment-author" href="https://wordpress.org/">A WordPress Commenter</a> mengenai <a class="wp-block-latest-comments__comment-link" href="https://untung99.homes/2023/07/25/hello-world/#comment-1">Hello world!</a></footer></article></li></ol></div>
</aside><aside id="block-16" class="widget widget_block widget_text">
<p><strong><a href="https://holochaincitizen.com/" data-type="URL" data-id="https://holochaincitizen.com/">slot online</a></strong></p>
</aside><aside id="block-21" class="widget widget_block widget_text">
<p><a href="https://www.anothersunnyday.net/">https://www.anothersunnyday.net/</a></p>
</aside>
	</div>
</div>

		</div><!-- .cm-container -->
				</div><!-- #main -->
				<footer id="cm-footer" class="cm-footer ">
				<div class="cm-footer-bar cm-footer-bar-style-1">
			<div class="cm-container">
				<div class="cm-row">
				<div class="cm-footer-bar-area">
		
		<div class="cm-footer-bar__1">
			
			<nav class="cm-footer-menu">
							</nav>
		</div> <!-- /.cm-footer-bar__1 -->

				<div class="cm-footer-bar__2">
			<div class="copyright">Hak Cipta © 2024 <a href="https://untung99.homes/" title="untung99.homes" ><span>untung99.homes</span></a>. Keseluruhan Hak Cipta.<br>Tema: <a href="https://themegrill.com/themes/colormag" target="_blank" title="ColorMag" rel="nofollow"><span>ColorMag</span></a> oleh ThemeGrill. Dipersembahkan oleh <a href="https://wordpress.org" target="_blank" title="WordPress" rel="nofollow"><span>WordPress</span></a>.</div>		</div> <!-- /.cm-footer-bar__2 -->
				</div><!-- .cm-footer-bar-area -->
						</div><!-- .cm-container -->
			</div><!-- .cm-row -->
		</div><!-- .cm-footer-bar -->
				</footer><!-- #cm-footer -->
					<a href="#cm-masthead" id="scroll-up"><i class="fa fa-chevron-up"></i></a>
				</div><!-- #page -->
		<script type='text/javascript' src='https://untung99.homes/wp-content/themes/colormag/assets/js/jquery.bxslider.min.js?ver=3.0.2' id='colormag-bxslider-js'></script>
<script type='text/javascript' src='https://untung99.homes/wp-content/themes/colormag/assets/js/navigation.min.js?ver=3.0.2' id='colormag-navigation-js'></script>
<script type='text/javascript' src='https://untung99.homes/wp-content/themes/colormag/assets/js/fitvids/jquery.fitvids.min.js?ver=3.0.2' id='colormag-fitvids-js'></script>
<script type='text/javascript' src='https://untung99.homes/wp-content/themes/colormag/assets/js/skip-link-focus-fix.min.js?ver=3.0.2' id='colormag-skip-link-focus-fix-js'></script>
<script type='text/javascript' src='https://untung99.homes/wp-content/themes/colormag/assets/js/colormag-custom.min.js?ver=3.0.2' id='colormag-custom-js'></script>

</body>
</html>


<!-- Page cached by LiteSpeed Cache 5.7.0.1 on 2024-07-02 19:40:43 -->