Tutorial Laravel #2 Membuat Model Baru
Tags: laravel, webdev, php, programming
Published: 2023-03-14 11:07:35

Pada kesempatan kali ini mimin akan memeberikan tutorial bagaimana cara membuat Model baru dengan beberapa kombinasi yang di gabung kan dengan perintah lainnya.

Yang pertama harus di siapkan adalah project yang sudah di buat, jika anda belum membuat project nya, anda bisa mengunjungi artikel sebelum nya yaitu mengenai [Tutorial Laravel #1 Membuat Project Baru](https://dev.to/yudhasdev/tutorial-laravel-1-membuat-project-baru-161g). Ikuti hingga proses nya selesai, dan jika sudah selesai anda bisa kembali ke sini untuk melanjutkan tutorial ini.

Sebelum itu mimin akan menjelaskan sedikit mengenai apa itu models yang ada pada laravel. Model adalah kelas PHP yang merepresentasikan tabel database. Model bertanggung jawab atas manajemen penyimpanan, pengambilan, dan manipulasi data, serta berfungsi sebagai penghubung antara database dan aplikasi.

Di Laravel, model biasanya disimpan di direktori app/Models, dan dapat dibuat menggunakan perintah Artisan make:model. Kelas model merupakan turunan dari kelas dasar Illuminate\Database\Eloquent\Model, yang menyediakan berbagai metode dan properti untuk bekerja dengan database.

Jika anda sudah memiliki project nya maka langsung kita ketutorial nya.

## Bagaimana Cara Membuat Model Baru Menggunakan Laravel 10

![image models](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jycx8e4mzpmqhwhc6c8s.png)

Umum nya anda bisa langsung mengetikan 

```
php artisan make:model "nama model"
```

> Tips : Pastikan huruf di setiap nama model menggunakan huruf besar.

Anda bisa langsung saja mengetikan perintah di atas pada terminal anda, seperti pada gambar di bawah mimin membuat model dengan nama produk.

![make model](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k6jzkr6o3ly5rhbycap6.png)

Jika seperti gambar di atas maka kita cek pada bagian navigasi yang ada di sebelah kiri jika anda menggunakan aplikasi Visual Studio Code. Jika anda ingin mengetahui lebih lengkap soal VSCode baik dari installasi maupun ekstensi yang saya gunakan anda bisa mengunjungi series mengenai [VSCode Series](https://dev.to/yudhasdev/series/22002)

Lokasi file nya berada di folder **App/Models/**
![ssmodel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34mt5pcx5rtpibo5n0bz.png)

Terlihat sudah ada 2 model yang berbeda yaitu Model Produk dan User. Anda bisa membuka file tersebut seperti pada gambar di bawah.

![code models](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6k01ywfipuuf6cng1vpc.png)

Akan di berikan template dasar yang di perlukan pada class model kita seperti pada gambar di atas. 
Dan mimin juga gak mau cuman ngasih tutor gitu aja, mimin mau ngasih beberapa Tips & Trik nya untuk mempercepat kalian coding dengan menggunakan framework ini.

Perintah membuat model juga dapat di gabungkan dengan perintah lainnya contohnya untuk membuat Migrations dengan Controller dengan nama yang tidak jauh berbeda, yang di bedakan hanya namanya ada tambahan kata *Controller di belakang setelah nama models nya.

Contohnya anda bisa langsung menggunakan gabungan dengan membuat Models dan Controller secara bersama seperti ini.

```
php artisan make:model Produk -c
```

> Disini mimin membuat model Produk kembali dengan tambahan mimin membuat Controller secara bersamaan dengan membuat modelnya.
> Tambahan -c adalah perintah untuk membuat controller dengan nama turunan yang di dapat dari model yang kita buat dengan tambahan nama *Controller setelah nya.

![ssmodel&controller](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xvmxbzhexa11x92mwnk.png)

Sehingga jika kita cek pada folder **App/Http/Controllers/** dan **App/Models** maka sudah ada nama controller dengan nama **ProdukController** karena kita membuat controller ini bersamaan dengan model **Produk**, sehingga bisa di katakan jika ada controll terkait logic yang di gunakan untuk memanipulasi data Produk anda bisa menggunakan Controller dengan nama dari Model yang anda buat.

![sscontroller](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/54neny6u4z57nwuuxjsn.png)

Mimin juga akan memberikan gabungan dari perintah pembuatan Model dan Migration dengan perintah berikut

```
php artisan make:model Produk -m
```
> Disini mimin membuat model Produk kembali dengan tambahan mimin membuat Migration secara bersamaan dengan membuat modelnya.
> Tambahan -m adalah perintah untuk membuat migration dengan nama turunan yang di dapat dari model yang kita buat dengan nama yang terbentuk biasanya **2023_03_14_112616_create_produks_table.php** yang terdiri dari (tanggal dan waktu di buat_create_nama model_table.php) dimana create table merujuk pada basis data yang akan dibuat secara otomatis dengan menggunakan perintah saja, asalkan file migration ini ada dan sudah di bentuk serta di berikan beberapa baris perintah di dalam nya. 

![makemodels&migration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fuenp0qd727snhf19clb.png)

Untuk penjelasan lebih lanjut mengenai migration dan controller mimin akan berikan tutor terpisah ya :-)

Untuk melihat file migration yang kita buat bisa buka di folder **Database/Migrations/** dengan beberapa migration yang sudah di berikan oleh laravel untuk keperluan lainnya dalam membuat basis data nantinya.

![ssmigration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ymz7jkfj3uj2i1e512so.png)

Mimin apakah bisa kita gabung ketiganya secara langsung jadi kita membuat Models, Controller dan Migration secara bersamaan?
Jawabannya tentu saja bisa dong dengan tambahan atau gabungan dari perintah yang di atas sehingga perintah nya menjadi 

```
php artisan make:model Produk -c -m
```
maka akan menghasilkan 3 file secara bersamaan.

![makemodels&controller&migration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpzske1anr3bgw4cmol2.png)

Jika ada bagian yang membuat anda bingung silahkan tanya di kolom komentar.

Sekian tutorial dari mimin, untuk bagaimana cara kita membuat model baru dengan menggunakan Laravel 10.

Support Me :

[![Trakteer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gt7j2h08ve3987qhkf08.png)](https://trakteer.id/yudhasdev/link)

[![Saweria](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sx7lzyl946962g7hd2sm.png)](https://saweria.co/yudhasDev)