我必须显示一个选择框,其中包含按一般流派分组的不同电影类型 . 为此,我使用CakePHP默认方法 find('list',...)
.
我的电影类型的数据库表是这样完成的:
|_id_|_name_________|_general_genre_|
| 1 | Action | Action |
| 2 | Martial arts | Action |
| .. | ............ | ............. |
问题是如果组具有与数据相同的名称(例如:“Action”),则数据不会显示为组名的好处 .
所以我的选择框看起来像:
Select a genre
- Action
- Martial arts
- ...
我想要的是:
Select a genre
- Action
- Action
- Martial arts
- ...
当然,原因是,不可能选择一个组项 .
提前致谢!
3 回答
好的,经过一些更多的研究,我最终得到了答案 . 这是要添加到
Html->input()
方法的属性 . 该属性为showParents
. 因此,如果您想创建一个包含组的选择框,并且在该组内部具有与该组具有相同名称的项目,则必须执行以下操作:希望这可以帮助;)
您可以通过设置
$options['fields']
选项来覆盖find('list')
返回的默认字段(主键和displayField) . 如果需要,这些可以是两个以上的字段 . 这应该接近你所需要的:这将返回一个数组,如:
您应该能够在下拉列表中使用它 .
这是预期的行为 . 生成表单元素时使用
showParents
选项 . API甚至有一个例如 . 对于你未能检查的这种情况:)