[Laravel Part 4] มารู้จัก Models ใน Laravel กัน

wasupon duranit
2 min readMar 18, 2019

--

Model คือ แบบจำลองข้อมูลซึ่งเหมือนกับที่เราเก็บลงอยู่ใน SQL แต่ว่าเรามาเก็บเป็น Object แทน เพื่อให้ง่ายต่อการเรียกใช้งาน โดยใน Laravel ก็จะสร้าง Models มาเพื่อนำมาช่วยในการ JOIN ตารางโดยไม่ต้องเขียนคำสั่งยุ่งยากได้

เอาละเราก็มาเริ่มกัน ด้วยการสร้าง Model เป็นอันดับแรก

การสร้าง Model

ก็จะมีสำคั่งสร้างก็คือ

php artisan make:model ชื่อโมเดลที่เราต้องการ

ก็อันดับแรก ผมก็จะมาเริ่มสร้างต่อจากอันเก่าเลย ก็คือจะสร้าง Category ขึ้นมา

ผมก็จะพิมพ์คำสั่ง php artisan make:model Category ในตัว Project เรานะครับ

เมื่อพิมพ์คำสั่งเสร็จแล้วก็กด Enter ได้เลย

ถ้าขึ้นคำว่า Model Created Successfully ก็สามารถใช้งานได้แล้ว

ที่นี้เราก็จะทำ Category ไม่พอก็ต้องทำของ Product ด้วย ก็พิมพ์ไปอีกคำสั่งหนึ่ง

เป็นตัว Product อีกตัวนึงครับผม Enter ได้เลย
เยี่ยมเท่านี้เราก็สร้าง 2 ตัวมาได้แล้ว ลองเข้าไปดูไฟล์กัน

ไฟล์ก็จะอยู่ใน App/ เลยนะครับ

นี้เลย

ที่นี้เราก็มาปรับโค้ดกันซักหน่อย

ในไฟล์ App/Category.php ให้เพิ่มคำสั่งนี้ลงไป

เพิ่มคำว่า protected $table = ‘category’ เพื่อให้เราเก็บชื่อตารางลงตัวแปร table นะครับ

ที่นี้ก็ต้องทำ product เหมือนกันนะครับ

แบบนี้เลยครับ

* ตรงนี้ชื่อตารางต้องตรงกับใน phpmyadmin ที่เราสร้างไว้ด้วยนะครับ

มาทำ Relationship กันเถอะ

นอกจากจะมีชื่อตารางแล้ว เราก็ต้องมาทำให้สองตารางนี้รู้จักกันด้วยนะครับ ก็ชื่อเป็น 1 M ตามรูปแบบ ER Diagram นั้นเอง

ซึ่งถ้าอ่านตาม ER ก็คือ สินค้าแต่ละชิ้นมีประเภทได้แค่ 1 ประเภท และ ประเภทแต่ละประเภทก็มีสินค้าได้หลายชิ้น

แสดงว่า category นั้นจะเป็น FK ของ product แสดงว่าเราก็จะทำเพิ่มโค้ดไปที่ product เพื่อให้รู้ว่า category เป็น FK กันนะครับ

ก็จะได้ดังรูปด้านบนซึ่งเป็นการบอกว่า Category นี้เป็น FK นะ ที่นี้หลังวงเล็บก็คือชื่อ Model ที่เราไปเรียกมานั้นเอง

นอกจากนี้เราก็ต้องไปเพิ่มใน Category ด้วยว่า เราจะไปเป็น Fk ให้เขานะ โดยเพิ่มไปว่า

ก็คือใช้คำว่า hasMany เพราะว่ามีจำนวนมากใน Category นั้นเองชื่อก็ต้องตรงกับ Model ที่เราสร้างด้วยนะครับ

บทนี้ก็จะมีประมาณนี้คือการที่ทำให้สองตารางมันรู้จักกัน เดี๋ยวบทหน้าจะมาพูดในการใช้งาน Model กัน

--

--