การแสดงข้อมูลจาก Entity หรือตัวแทนจากตารางในฐานข้อมูลเดียวเป็นเรื่องปกติ
แต่หากต้องแสดงข้อมูลจาก entity อื่นที่มีความสัมพันธ์กันต้องเพิ่มอะไรลงไปนิดหน่อย
จากตอนที่แล้วผมสร้างแอพพลิเคชั่นจากฐานข้อมูลที่มีเดิมอยู่แล้ว
แล้วมาสร้าง entity datamodel แล้วค่อยมาสร้าง class ที่ทำงานทีหลัง
ไม่ใช่สร้างแบบ poco คือสร้างโค้ดก่อนแล้วไปเจนเนเรทฐานข้อมูล ผมคิดว่าอาจจะไม่เขียนเพราะ ตย ในเว็บอื่นๆมีมากพอแล้ว
วัตถุประสงค์
ต้องการแสดงรายชื่อนักเรียน
ต้องการคลิกที่ชื่อแล้วแสดงรายวิชา + เกรดที่ได้ของนักเรียน
นี่คือ edm ของระบบ
1. เพิ่ม Controller ลงไปชื่อ StudentController กำหนดค่า
ที่ช่องเทมเพลต กำหนดให้สร้าง crude
โมเดลให้เลือกชี้ไปที่คลาสที่สร้างขึ้นจากตอนที่แล้ว
และcontext เลือก schoolentity ก้ได้จากการสร้างตอนที่แล้วเช่นกัน
แล้ว add ลงไป
2.แก้โค้ดที่ StudentController เมทอส Details ดังนี้
จะเห็นว่าผมแก้โค้ดให้มี include เอา entity ที่ติดต่อโดยตรงเข้าไปก่อน
แล้วไปเรียก select เอา entity ที่ติดต่อถัดไปเข้ามา
3.เปิด view detail ของ student
4. ภายใน tag ของ fieldset ให้เพิมตารางแสดงรายการวิชาและเกรดที่ได้เข้าไปด้วยการวนลูปดังนี้
เมื่อทดลองรันจะได้ดังนี้
เมื่อคลิกที่ detail ของ นร สักคน
จะได้รายวิชาที่ลงเรียนและเกรด(หากมี)
จบแล้วครับ ไม่เข้าใจเหมือนกันว่าทำไมทำตาม tutorial แล้วมีปัญหามาตลอด
หรือผมโง่เกินไปก็ไม่ทราบได้ หากใครฉลาดๆโปรดเข้ามาให้คำสอนด้วยครับ
ขอบคุณมากครับ เ