การเขียนคำสั่ง make:model ใน Command บน Laravel

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

ผู้เขียน

Sinnapa Prasith-Rathsint
sinnapa@g.swu.ac.th