Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 如何基于数据库表创建动态表单帮助器?_Cakephp_Helper - Fatal编程技术网

Cakephp 如何基于数据库表创建动态表单帮助器?

Cakephp 如何基于数据库表创建动态表单帮助器?,cakephp,helper,Cakephp,Helper,使用CakePHP2.3.0 辅助对象的条件是: 1) 我需要以多种形式使用许多下拉框,我不想在每个控制器中都使用loadModel(12) 2) 需要从数据库表中获取数据 3) 我在考虑不要为桌子烤文件。 4) 希望使用自定义mysql查询 例如,我有一个名为countries的表,下拉列表应该是key=>缩写名,name=>全名 任何建议都将不胜感激。我在helper中创建了一个函数 ` ` 通过传递表名和字段从视图中调用它,这将生成一个数组,这样它就解决了我的问题,而无需在appcontr

使用CakePHP2.3.0 辅助对象的条件是: 1) 我需要以多种形式使用许多下拉框,我不想在每个控制器中都使用loadModel(12) 2) 需要从数据库表中获取数据 3) 我在考虑不要为桌子烤文件。 4) 希望使用自定义mysql查询

例如,我有一个名为countries的表,下拉列表应该是key=>缩写名,name=>全名


任何建议都将不胜感激。

我在helper中创建了一个函数 `

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

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

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;    
    }