在 CakePHP 中使用 FormHelper 创建“选择”列表框

2024-01-13

我有两个模型,Category and Point。这些关联定义为:

Category hasMany Point
Point belongsTo Category

我想在添加时Points到我的数据库,以便能够从<select>框,以及表单数据的其余部分。

我需要去哪里set类别列表以及我该怎么做?我将如何生成选择框?

我想这可以用

$form->input('categorieslist',array('type'=>'select')); //categorieslist needs
                                                        //setting somewhere.

另外概括一下:

在可以访问表单助手的视图中

<?php
    echo $form->input( 'dataKey', array(
        'type' => 'select',
        'options' => array(
            'key1' => 'val1',
            'key2' => 'val2',
        ),
    ));
?>

上面将呈现一个带有两个选项的选择输入。您还可以将空选项放置为第一项。传递 true 值只会将一个带有空白值的空选项附加到 HTML 中呈现的选项的开头。

<?php
    echo $form->input( 'dataKey', array(
        'type' => 'select',
        'options' => array(
            'key1' => 'val1',
            'key2' => 'val2',
        ),
        'empty' => true,
    ));
?>

您可以将字符串传递给“空”键,使其将自定义文本显示为空选项的键字段。

<?php
    echo $form->input( 'dataKey', array(
        'type' => 'select',
        'options' => array(
            'California' => 'CA',
            'Oregon' => 'OR',
        ),
        'empty' => 'choose a state',
    ));
?>

最后一个例子,您还可以使用所选键预先选择一个选项。该值应与value选择选项之一,而不是密钥。

<?php
    echo $form->input( 'dataKey', array(
        'type' => 'select',
        'options' => array(
            'California' => 'CA',
            'Oregon' => 'OR',
        ),
        'empty' => 'choose a state',
        'selected' => 'California',
    ));
?>

从模型来看

Model->find( 'list', array( ... ));将始终返回一个格式化为与选择框选项一起使用的数组。如果将数据传递到存储在具有小写复数模型名称的变量中的视图,即( $this->set( 'categories', $categories );,然后您将通过使用视图中的表单助手并以单数形式传递后缀为“_id”的相同模型名称的数据索引,自动生成相关模型的下拉列表。

阿齐兹的回答 https://stackoverflow.com/questions/2658432/creating-select-listboxes-using-formhelper-in-cakephp/2658476#2658476#2 是自动魔法发挥作用的例子。

  • CakePHP 1.3 表单助手 http://book.cakephp.org/view/1390/Automagic-Form-Elements
  • CakePHP1.2 表单助手 http://book.cakephp.org/view/189/Automagic-Form-Elements
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CakePHP 中使用 FormHelper 创建“选择”列表框 的相关文章

  • CakePHP 2.0 $this->表单->input()

    这是我的add tcp 表名称 组 表字段 group id group desc PK group id 这是我的控制器 class GroupsController extends AppController public helper
  • cakephp 模型关联/与同一张表连接[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一张包含父母和孩子的桌子 我希望
  • cakephp:查找带有“包含”的语句

    以下用户模型函数来自 MilesJones 论坛插件 有人可以告诉我 find stmt txt 中的 contain 有什么用吗 我在 cakephp 食谱中找不到任何包含的示例 任何帮助表示赞赏 public function getP
  • CakePHP 和子查询

    如何使用 cake 语法编写 SQL 子查询 我知道如何编写简单的查询 但无法处理子查询 这是原始查询 SELECT Assumption id Referee id Referee first name Referee second na
  • 如何在cakephp中生成'a href="javascript:void(0)"'之类的链接?

    如何在 CakePHP 中生成类似 a href javascript void 0 的链接 我制作了一个应用程序 当用户单击图像列表时 内容将插入到编辑器文本区域中 我向这些图像添加一个类 并在 javascript 文件中编写一些代码
  • 使用 CakePHP 将视图嵌入到另一个视图中

    我有一个新闻控制器 每个新闻项目都有一个 查看 操作 在每个新闻项目的 查看 操作中 我想包含另一个视图 即评论控制器的 添加 操作 基本上 我需要在每个新闻项目的页面上添加一个表单来添加评论 我有两种观点 但我无法将它们联系起来 我尝试使
  • CakePHP 2.x Containable 内的 GROUP BY

    我正在疯狂地尝试找到一个好的解决方案 要么使用set extract 或者其他的东西 我想在我的容器中添加一个 GROUP BY params array conditions gt array Project id gt ProjectI
  • 使用 cakephp 获取名称显示在下拉列表中

    我想在下拉列表中显示我们所有项目负责人的姓名 项目负责人只是公司的部分员工 这是我的表格 project leaders id hr employee id 1 18 projects id name project leader id 1
  • 如何使用 cakephp 和 twitter bootstrap 在表单 postlink 内创建图标

    这给了我我想要的 但是当我创建 Form postLink 时 我不知道如何获取它前面的删除图标
  • 在 CakePHP v2.0 中使用电子邮件地址进行身份验证

    好吧 这个问题与我最近在 Stack Overflow 上问的问题类似 但我基本上只是使用 CakePHP 书中的代码而不是我自己的代码来尝试理解为什么有些东西不起作用 基本上 这个想法是允许用户在 Cake 2 0 版本中使用他们的电子邮
  • CakePHP:用 save() 进行加/减?

    我试图通过 Cake 的 save 函数简单地执行以下操作 UPDATE user SET value value 1 不过 好像只能设定 它不会理解我传递给它来增加或减少的任何内容 并且互联网上似乎没有人遇到这个问题 P 即使在浏览某人在
  • 使用 git 维护不同版本的 web 应用程序的工作流程?

    在我的公司 我们已经使用 git 几个月了 我们对此很高兴 但我们仍然没有getgit 为完整的 100 我们的主要产品是一个提供不同语言的网站 前端 管理后端 其中一些网站提供了其他网站不应该提供的功能 例如 需要在给定表单上填写的字段类
  • Cakephp Auth: $this->Auth->login错误消息

    我正在使用身份验证组件 我在 beforeFilter 中设置 this gt Auth gt loginError 但我还有另一种可能性 如果用户输入的用户名和密码正确 但 User status pending 我怎样才能显示不同的消息
  • CakePHP 无法写入某些文件

    我开始使用 CakePHP 为我的框架开发一个网站 我实际上刚刚开始并且已经遇到了错误 我无法理解它们的含义 Warning cake core cache was unable to write cake dev en us to Fil
  • 在 cakephp 2.0.2 中使用 shell 类的插件组件

    我想使用我的 shell 类中的插件组件 我正在尝试使用 App import Component Myplugin Mycomponent this gt Mycomponent new MycomponentComponent 不幸的是
  • CakePHP Facebook 集成与 CakePHP-Facebook-Plugin 的注销问题

    我正在寻找一种方法CakePHP Facebook 插件 https github com webtechnick CakePHP Facebook Plugin让用户退出我的应用程序 但不让他们退出他们自己的 Facebook 如果我调用
  • 如何使用 wamp 在 Windows 上烘焙 cakephp 2.0 应用程序

    我想在Windows系统上烤蛋糕php项目 我正在使用 wamp 服务器来运行 PHP mysql 我已经浏览过 cakephp 网站上的视频投射 并设置了环境设置 按照演示给出命令 蛋糕 后 最后我收到一条消息说 php 不被识别为内部或
  • 锚标记内的 CakePHP Span 标记

    我试图让 CakePHP 输出一个如下所示的链接 a href foo bar class some other classes span class icon new span FooBar a 所以我在我看来使用以下代码
  • 如何安装 Miles J 的 cakephp 论坛插件?

    我很确定这是一个蛋糕 1 3 问题 该插件与 2 0 不兼容 我正在尝试为论坛安装 cakephp 的 Miles J 插件 可以在这里找到 http milesj me code cakephp forum http milesj me
  • CakePHP 3 API 的 POST 请求不起作用

    我正在使用 CakePHP 3 x 文档开发 API 为了开发这个 API 我使用了他们的官方文档 https book cakephp org 3 0 en development rest html https book cakephp

随机推荐