ผลต่างระหว่างรุ่นของ "Tqf/employmentstats"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 37: แถว 37:
 
== การนำเข้าข้อมูล ==
 
== การนำเข้าข้อมูล ==
  
เขียนสคริปต์นำเข้าข้อมูล
+
เขียนสคริปต์นำเข้าข้อมูลโดยดูตัวอย่างจากบรรดา application/classes/controller/cli/import*  เช่น importtqf7curriculuminstructors.php
 +
 
 +
พวกนี้จะเป็น controller ที่คุณจะเรียกผ่าน CLI โดยจะเรียกจาก tqf directory เลย ประมาณ
 +
 
 +
$ php index.php --uri=cli/importtqf7curriculuminstructors --file=data.csv --year=2557
 +
 
 +
เจ้า --file และ --year เนี่ยะ จะเป็น options ที่คุณจะอ่านได้โดยสั่งประมาณ
 +
 
 +
    $options = CLI::options('file','year');
 +
    if((!isset($options['file'])) || (!isset($options['year']))) {
 +
      exit(1);
 +
    }
 +
 
 +
    $filename = $options["file"];

รุ่นแก้ไขเมื่อ 03:22, 5 มิถุนายน 2558

รายละเอียดข้อมูล

แหล่งข้อมูล: จากกองแผนงาน http://www.planning.ku.ac.th/planning/downloads/work/work_index.htm (น่าจะดูของเป็นสรุปผลครั้งที่ 2 นะครับ)

1. ข้อมูลมันจะมีอยู่ 3 ส่วน น่าจะเอามาใส่ฟอร์มข้างต้นได้หมด ยกเว้น field จำนวนผู้สำเร็จการศึกษาที่มีงานทำก่อนเข้าศึกษา ซึ่งเราต้องไปคุยกับเค้าอีกทีว่าจะเอาไง

2. ปัญหาคือในข้อมูลระบุสาขามาอาจจะไม่ตรงกับในหลักสูตร เช่น "วิศวกรรมศาสตรบัณฑิต (วิศวกรรมโยธา-ทรัพยากรน้ำ)" ชื่อในระบบเราเป็น "วิศวกรรมศาสตรบัณฑิต สาขาวิศวกรรมโยธา-ทรัพยากรน้ำ" ซึ่งตรงนี้ช่างมันก่อน เราค่อยไปทำหน้าให้เค้าลิงก์ข้อมูลมา (แถมมีภาคปกติภาคพิเศษแยกกันอีก)

สิ่งที่คุณน่าจะทำคร่าว ๆ

1. สร้างตาราง importedcurriculumemploymentstats (อย่าลืม migration) และโมเดล Model_ImportedCurriculumEmploymentStat

2. เขียน script นำเข้าข้อมูล

3. manually เชื่อมโยงของข้อมูลที่ import มา กับข้อมูลหลักสูตรที่ต้องการกรอก (สักวิธี เดี๋ยวผมเขียนอธิบายเมลถัดไป)

4. ทำหน้า employmentstats ที่แสดงข้อมูลดังกล่าว และมีช่องหนึ่งช่องให้เขียนอธิบาย

ตารางและโมเดล

โดยมากเวลานำเข้าข้อมูลจากภายนอก ผมจะไม่เก็บลงข้อมูลจริงโดยตรง แต่จะสร้างตารางและโมเดลที่ prefix ว่า imported ไว้ก่อน กันบึ้ม

สำหรับข้อมูลการได้งานทำนั้น จริง ๆ มันมีโมเดลอยู่แล้ว ชื่อ Model_CurriculumEmploymentStat (curriculumemploymentstat) แต่ฟิลด์มันจะไม่ครบ (เพราะว่ามันตามฟอร์มเดิม)

ผมเสนอให้คุณดำเนินการดังนี้

1. สร้างตาราง importedcurriculumemploymentstats (ปกติผมจะสร้างใน phpmyadmin สร้าง key อะไรให้เรียบร้อย แล้ว export มาใส่ migration (อยู่ที่ application/migration) อย่าลืม postfix มันด้วย _UP นะ) ตารางนี้จะล้อกับ curriculumemploymentstats

  • convention ของตาราง ต้องมี field id เป็น primary key เป็น int แล้วก็ auto increment
  • ให้เพิ่มฟิลด์ให้ครบตามฟอร์ม
  • ให้มีฟิลด์ imported_curriculum_title (ตรงนี้จะเป็นชื่อที่ไม่ตรง แต่ตรงตามที่เรา import มา)
  • เพิ่มฟิลด์ annualcurriculumresult_id (ตรงนี้ ถ้าเค้าเชื่อมข้อมูลแล้ว เราจะปรับให้ตรงกับ id ของตัวมคอ.7)

2. สร้างโมเดล Model_ImportedCurriculumEmploymentStat (ล้อกับ Model_CurriculumEmploymentStat)

การนำเข้าข้อมูล

เขียนสคริปต์นำเข้าข้อมูลโดยดูตัวอย่างจากบรรดา application/classes/controller/cli/import* เช่น importtqf7curriculuminstructors.php

พวกนี้จะเป็น controller ที่คุณจะเรียกผ่าน CLI โดยจะเรียกจาก tqf directory เลย ประมาณ

$ php index.php --uri=cli/importtqf7curriculuminstructors --file=data.csv --year=2557

เจ้า --file และ --year เนี่ยะ จะเป็น options ที่คุณจะอ่านได้โดยสั่งประมาณ

   $options = CLI::options('file','year');
   if((!isset($options['file'])) || (!isset($options['year']))) {
     exit(1);
   }
   $filename = $options["file"];