我有以下模型关联:
Response->Survey
Response->Question
Response->Choice
Survey->Question
Question->Choice
我想创建一个表单,我可以回答一项调查的所有问题。所以我使用以下内容返回所需的数据:
$questions = $this->Response->Question->find('all', array(
'conditions' => array('survey_id' => $id),
'contain' => array('Choice')
)
);
debug($questions)
的
是否有contain()
选项,以便相关模型在find('list')
format中返回,以便我可以使用:
foreach($ question as $ questions){ $ this-> Form-> select('field_name',$ question ['Choice']); }
如果没有可用的选项,我怎么能用PHP的构建数组方法做到这一点?
PS:foreach块不会变成代码块。如果有人可以编辑并修复它,请执行此操作并删除此行。谢谢。
答案 0 :(得分:0)
是否使用:
$keys = array();
$values = array();
foreach($question['Choice'] as $choice) {
array_push($keys, $choice['id']);
array_push($values, $choice['choice']);
}
$choices = array_combine($keys, $values);
“原始”选项仍在$ questions数组中,未经修改。如果有人知道更好的方法,请发布。谢谢。