[Laravel Part 4] มารู้จัก Models ใน Laravel กัน
Model คือ แบบจำลองข้อมูลซึ่งเหมือนกับที่เราเก็บลงอยู่ใน SQL แต่ว่าเรามาเก็บเป็น Object แทน เพื่อให้ง่ายต่อการเรียกใช้งาน โดยใน Laravel ก็จะสร้าง Models มาเพื่อนำมาช่วยในการ JOIN ตารางโดยไม่ต้องเขียนคำสั่งยุ่งยากได้
เอาละเราก็มาเริ่มกัน ด้วยการสร้าง Model เป็นอันดับแรก
การสร้าง Model
ก็จะมีสำคั่งสร้างก็คือ
php artisan make:model ชื่อโมเดลที่เราต้องการ
ก็อันดับแรก ผมก็จะมาเริ่มสร้างต่อจากอันเก่าเลย ก็คือจะสร้าง Category ขึ้นมา
เมื่อพิมพ์คำสั่งเสร็จแล้วก็กด Enter ได้เลย
ที่นี้เราก็จะทำ Category ไม่พอก็ต้องทำของ Product ด้วย ก็พิมพ์ไปอีกคำสั่งหนึ่ง
ไฟล์ก็จะอยู่ใน App/ เลยนะครับ
ที่นี้เราก็มาปรับโค้ดกันซักหน่อย
ในไฟล์ App/Category.php ให้เพิ่มคำสั่งนี้ลงไป
ที่นี้ก็ต้องทำ product เหมือนกันนะครับ
* ตรงนี้ชื่อตารางต้องตรงกับใน phpmyadmin ที่เราสร้างไว้ด้วยนะครับ
มาทำ Relationship กันเถอะ
นอกจากจะมีชื่อตารางแล้ว เราก็ต้องมาทำให้สองตารางนี้รู้จักกันด้วยนะครับ ก็ชื่อเป็น 1 M ตามรูปแบบ ER Diagram นั้นเอง
ซึ่งถ้าอ่านตาม ER ก็คือ สินค้าแต่ละชิ้นมีประเภทได้แค่ 1 ประเภท และ ประเภทแต่ละประเภทก็มีสินค้าได้หลายชิ้น
แสดงว่า category นั้นจะเป็น FK ของ product แสดงว่าเราก็จะทำเพิ่มโค้ดไปที่ product เพื่อให้รู้ว่า category เป็น FK กันนะครับ
ก็จะได้ดังรูปด้านบนซึ่งเป็นการบอกว่า Category นี้เป็น FK นะ ที่นี้หลังวงเล็บก็คือชื่อ Model ที่เราไปเรียกมานั้นเอง
นอกจากนี้เราก็ต้องไปเพิ่มใน Category ด้วยว่า เราจะไปเป็น Fk ให้เขานะ โดยเพิ่มไปว่า
ก็คือใช้คำว่า hasMany เพราะว่ามีจำนวนมากใน Category นั้นเองชื่อก็ต้องตรงกับ Model ที่เราสร้างด้วยนะครับ
บทนี้ก็จะมีประมาณนี้คือการที่ทำให้สองตารางมันรู้จักกัน เดี๋ยวบทหน้าจะมาพูดในการใช้งาน Model กัน