这是我在 Form.Class 中的小部件:
$this->widgetSchema['schools'] = new sfWidgetFormChoice(array(
'choices' => Doctrine_Core::getTable('school')->getUsersSchools($userId),
'renderer_class' => 'sfWidgetFormSelectDoubleList',
'renderer_options' => array(
'label_unassociated' => 'Unassociated',
'label_associated' => 'Associated'
)));
以上工作正常,但存储的值与上面引用的选择列表无关。我需要将检索到的数组的 id 存储为值。相反,检索到的列表是按时间顺序排列的,id 被忽略。
这是 schoolTable 查询:
public function getUsersSchools($id){
$q =Doctrine_Query::create()
->select('id')
->from('school')
->where('user_id = ?', $id)
->execute();
return $q;
}