我有一个带有属性pageName的对象CuratedPage。
我正在控制器中创建一个CuratedPage对象数组,并为此视图设置它:
$this->set('curatedPages', $curatedPages);
在视图中,我创建了一个如下所示的页面名称下拉列表:
$pageNames = array();
foreach($curatedPages as $curatedPage) {
array_push($pageNames, $curatedPage->getPageName());
}
echo $this->Form->input('curatedPage', array('options' => $pageNames));
在cakephp中是否有一种方法可以让我将CuratedPage对象数组传递给Form->输入(...),而不是创建一个标量值数组。
答案 0 :(得分:0)
在这种情况下,我不确定你希望表单助手做什么。但是,根据您的PHP版本(> = 5.2.0),魔术__toString()
方法可能会这样做。如果您实现它以返回页面名称,那么您最终会得到与您发布的片段相同的结果,即带有页面名称作为标签的数字索引(值属性)HTML选项列表。
但是,在此特定视图中仅为此目的实现此操作似乎对我不利,您可能更善于使用自定义帮助程序,或者@BrianGlaz建议在控制器中准备数据。