$swimmer = $this->Swimmer->find('list', array(
'conditions' => array('Swimmer.group' => $this->data['Swimmer']['group_id']),
'order' => array('Swimmer.first_name ASC'),
'fields' => 'Swimmer.first_name'
));
Run Code Online (Sandbox Code Playgroud)
首先,按照Ann Pham的建议在Swimmer模型中设置虚拟场.例如:
var $virtualFields = array(
'name' => "CONCAT(Swimmer.first_name, ' ', Swimmer.last_name)"
);
Run Code Online (Sandbox Code Playgroud)
然后,像下面这样获取下拉列表的数据:(假设Swimmers控制器)
$this->Swimmer->find('list', array('fields' => array('Swimmer.id', 'Swimmer.name')));
Run Code Online (Sandbox Code Playgroud)
您也可以尝试在SwimmerModel中执行此操作:( var $displayName = 'Swimmer.name';不是100%确定是否可行).如果它确实有效,您将不需要查找中的'fields'数组.