CakePHP - ENUM ดึงข้อมูลจากฟิลด์ที่เป็น type=enum() มาแสดงเป็นรายการใน View


ENUM ดึงข้อมูลจากฟิลด์ที่เป็น type=enum() มาแสดงเป็นรายการใน View

เพียงแค่ใส่ฟังก์ชั่นนี้ใน app/app_controller.php

<?php 
class AppController extends Controller {

  function beforeRender() {

    foreach ($this->modelNames as $model) {
      foreach ($this->$model->_schema as $var => $field) {
        if (strpos($field['type'], 'enum') === FALSE) continue;

        preg_match_all("/\'([^\']+)\'/", $field['type'], $strEnum);

        if (is_array($strEnum[1])) {
          $varName = Inflector::variable(Inflector::pluralize($var));
          $options = array();
          foreach ($strEnum[1] as $value) {
            $options[$value] = __($value, true);
          }
          $this->set($varName, $options);
        }
      }
    }

  }
 

}

?>

 

คำสำคัญ (Tags): #cakephp#enum
หมายเลขบันทึก: 330411เขียนเมื่อ 23 มกราคม 2010 22:46 น. ()แก้ไขเมื่อ 19 มิถุนายน 2012 16:58 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท