Model เป็นตัวกลางในการสื่อสารระหว่างฐานข้อมูลกับแอปพลิเคชัน และสามารถสร้างความสัมพันธ์ระหว่างข้อมูลในฐานข้อมูล ช่วยทำให้ลดระยะเวลาและความยุ่งยากในการเขียนคำสั่ง SQL โดยตรงเพื่อจัดการข้อมูลที่อยู่ในฐานข้อมูล
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel>
คำสั่งนี้จะใช้เพื่อสร้างไฟล์โมเดลในโฟลเดอร์ app/Models ของโปรเจค เพื่อเข้าถึงและจัดการข้อมูลในฐานข้อมูล
ตัวอย่าง php artisan make:model Product
นอกจากคำสั่งที่ใช้สร้าง Model ดังข้างต้นแล้ว ยังมีคำสั่งที่ใช้สร้างโมเดลที่มี Option เพิ่มเติมเพื่อสร้างไฟล์ Model กับไฟล์อื่นๆตามที่ระบุ Option ขึ้นมาพร้อมๆกันในครั้งเดียว โดยจะมีตัวเลือก (option) ซึ่งเป็นพารามิเตอร์ของคำสั่ง Artisan Model
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> -[options]
Option
–migration หรือ -m
สร้างไฟล์ Migration ในโฟลเดอร์ database/migrations
เพื่อกำหนดโครงสร้างตารางในฐานข้อมูล เช่น เพิ่มตาราง แก้ไขชื่อคอลัมน์ หรือเปลี่ยนแปลงชนิดคอลัมน์
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> –migration
หรือเขียนแบบสั้น
php artisan make:model <ชื่อModel> –m
ตัวอย่างคำสั่ง : php artisan make:model Product -m
–controller หรือ -c
สร้างไฟล์ Controller ในโฟลเดอร์ app/Http/Controllers
เพื่อควบคุมการทำงานโดยรับข้อมูลจากผู้ใช้งานผ่าน view และประมวลข้อมูลเพื่อส่งข้อมูลไปยังหน้า view เพื่อแสดงข้อมูลแก่ผู้ใช้งาน เช่น การบันทึกข้อมูล การแก้ไขข้อมูล การลบข้อมูล
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> –migration –controller
หรือ
php artisan make:model –migration –controller <ชื่อModel>
หรือเขียนแบบสั้น
php artisan make:model <ชื่อModel> -mc
การเขียนคำสั่งนี้ได้หลายแบบ เมื่อรันคำสั่งแล้ว จะมีผลลัพธ์เช่นเดียวกัน
ตัวอย่างคำสั่ง : php artisan make:model -mc Product
การเขียนคำสั่งแบบเต็ม หรือแบบย่อ จะมีผลลัพธ์เช่นเดียวกัน
–resource หรือ -r
ใช้ร่วมกับ controller
เพื่อสร้างเมธอดอัตโนมัติในไฟล์ Controller โดยจะมีเมธอดต่างๆ ได้แก่
เมธอด | หน้าที่ |
---|---|
index() | ไว้ใช้เปิดหน้าแสดงรายการข้อมูลต่างๆ |
create() | ไว้ใช้สำหรับเปิดหน้าแสดงแบบฟอร์มเพื่อสร้างข้อมูลใหม่ |
store() | บันทึกข้อมูลที่สร้างใหม่จากแบบฟอร์ม |
show($id) | ใช้สำหรับแสดงรายละเอียดของข้อมูลตามค่า id ที่เลือก |
edit($id) | ไว้ใช้เปิดหน้าแสดงแบบฟอร์มแก้ไขข้อมูลซึ่งจะมีการแสดงข้อมูลเดิมตามค่า id ที่เลือก |
update($id) | เพื่ออัปเดตข้อมูลใหม่จากการแก้ไขข้อมูลเดิมที่มีอยู่ตามค่า id ที่กำหนด |
destroy($id) | เพื่อลบข้อมูลตามค่า id ที่กำหนด |
นอกจากเมธอดเหล่านี้ ยังสามารถสร้างเมธอดอื่นๆเพิ่มเติมด้วยตนเองได้
รูปแบบการเขียนคำสั่ง
php artisan make:model –migration –controller <ชื่อModel> –resource
หรือ
php artisan make:model -mc <ชื่อModel> –resource
หรือ
php artisan make:model <ชื่อModel> -mcr
ตัวอย่างคำสั่ง : php artisan make:model Product -mcr
–force
สร้างไฟล์ Model ที่มีซ้ำกัน ในโฟลเดอร์ app/Models
จะทำให้ข้อมูลเก่าในโมเดลชื่อเดิมจะถูกลบออก และแทนที่ด้วยโมเดลที่สร้างขึ้นใหม่
เพื่อใช้ในกรณีที่ต้องการเปลี่ยนแปลงโครงสร้างของโมเดล
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> –force
ตัวอย่างคำสั่ง : php artisan make:model Product –force
เช่น
ก่อนใช้คำสั่ง –force
สร้างไฟล์โมเดลที่มีชื่อ Product
ด้วยคำสั่ง php artisan make:model Product
หลังใช้คำสั่ง –force
สร้างไฟล์โมเดล Product เป็นชื่อซ้ำกับไฟล์ที่สร้างไว้ก่อนหน้านี้
ด้วยคำสั่ง php artisan make:model Product –force
–factory หรือ -f
สร้างไฟล์ Factory ในโฟลเดอร์ database\factories
เพื่อสร้างไฟล์ Factory เพื่อเตรียมข้อมูลที่สุ่มจากระบบลงในฐานข้อมูล ใช้กับการทดสอบแอปพลิเคชันโดยอิงจากข้อมูลสุ่ม
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> –factory
หรือเขียนแบบสั้น
php artisan make:model <ชื่อModel> -f
ตัวอย่างคำสั่ง : php artisan make:model Product –factory
–seeder หรือ -s
สร้างไฟล์ Seeder ในโฟลเดอร์ database\seeders
เพื่อสร้างไฟล์ Seeder เพื่อเตรียมข้อมูลชุดทดสอบที่สร้างขึ้นมาเองลงในฐานข้อมูล ใช้กับการทดสอบแอปพลิเคชันโดยอิงจากข้อมูลเริ่มต้น ใช้ในกรณีที่ยังไม่มีโมเดลและ Seeder ในโปรเจค
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> –seeder
หรือ เขียนแบบสั้น
php artisan make:model <ชื่อModel> -s
ตัวอย่างคำสั่ง : php artisan make:model Product –s
–all หรือ -a
สร้างไฟล์ Model พร้อมสร้างไฟล์อื่นๆทั้งหมด โดยประกอบด้วย Model, Migration, Controller, Resource, Factory, Seeder, Request (Store, Update), และ Policy
รูปแบบการเขียนคำสั่ง
php artisan make:model <ชื่อModel> –all
หรือ
php artisan make:model <ชื่อModel> -a
ตัวอย่างคำสั่ง : php artisan make:model Product –a