【问题标题】:How to create a dynamic form helper based on database tables?如何创建基于数据库表的动态表单助手?
【发布时间】:2013-02-06 09:06:46
【问题描述】:

使用 cakephp 2.3.0 助手的条件是: 1)我需要以多种形式使用许多下拉框,我不想在每个控制器中都做 loadModel(12) 2)需要从数据库表中获取数据 3)我正在考虑不为表格烘焙文件。 4)想使用自定义mysql查询。

例如,我有一个名为国家/地区的表,下拉菜单应该是 key=>abbreviated name 和 name=>full name。

任何建议将不胜感激..

【问题讨论】:

    标签: cakephp helper


    【解决方案1】:

    我在助手中创建了一个函数 `

    public function getDropDownList($table,$key,$value)
        {
            //$db =& ConnectionManager::getDataSource('default');
            $fields = $key.','.$value;
            $CommercialHeaders =& ClassRegistry::init('tablename');
            $sql = $CommercialHeaders->query('select '.$fields.' from '.$table.' as DropDown');
            foreach($sql as $val)
            {
                $countryList[$val['DropDown'][$key]] = $val['DropDown'][$value];    
    
            }
            //debug($countryList);
            return $countryList;    
        }
    

    ` 并通过传递表名和字段从视图中调用它,这将生成一个数组,因此无需在 appcontroller 中设置或使用 requestAction 即可解决我的问题

    【讨论】:

      猜你喜欢
      • 2020-03-28
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 2023-04-08
      相关资源
      最近更新 更多