0

我有一个带有属性 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->input(...) 而不是创建标量值数组。

4

1 回答 1

0

我不确定在这种情况下您希望表单助手做什么。但是,根据您的 PHP 版本(需要 >= 5.2.0),魔术__toString()方法可能会做到这一点。如果您实现它以返回页面名称,那么您最终会得到与您发布的片段相同的结果,即以页面名称作为标签的数字索引(值属性)HTML 选项列表。

但是,仅在此特定视图中为此目的实现此功能对我来说似乎是错误的,您可能最好使用自定义帮助程序,或者像@BrianGlaz建议的那样在控制器中准备数据。

于 2013-08-15T18:20:03.693 回答