使用 cakephp 2.3.0 助手的条件是:1)我需要以多种形式使用许多下拉框,我不想在每个控制器中都做 loadModel(12)2)需要从数据库表 3)我正在考虑不为表烘焙文件。4)想使用自定义mysql查询。
例如,我有一个名为国家的表,下拉列表应该是 key=>abbreviated name 和 name=>full name。
任何建议将不胜感激..
我在 helper ` 中创建了一个函数
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