在 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 和 html select 中的问题,我不明白该怎么做

    cakephp菜鸟提出的简单问题 我有两个模型 玩家和团队 Team 有一个id int 和一个cool name varchar 玩家有一个 id int 一个 Cool name varchar 和一个团队表引用 team id int
  • CakePHP TwigView 插件缺少视图错误

    我正在使用 CakePHP 2 4 2 和this https github com predominant TwigView插件由主导 我想将 TwigView 与 CakePHP 一起使用 发现上面的插件与 CakePHP 2 0 兼容
  • 为什么 JavaScript 文件在我的 Cake 插件中被解析为 PHP?

    我正在开发的 Cake 插件中包含的 JavaScript 之一出现问题 由于某种原因 JavaScript 文件被解析为 PHP 文件 因此加载该文件会抛出此错误 这是 PHP 解析错误 b Parse error b syntax er
  • SQL 错误:1452:无法添加或更新子行:外键约束失败

    我的数据库中有两个表 order course order有一个专栏courseid哪个参考列id of the course桌子 每当我尝试做的时候saveAll in CakePHP以上SQL将显示错误并且不会保存数据 听起来是在数据库
  • 有没有 CakePHP 离线手册

    曾经有过 但似乎没有任何直接联系 经过一番挖掘 发现了一些答案 我认为分享这些答案会很有用 这些是一页中的手册链接 对于离线使用很有用 使用 Dardo Sordi Bogado 的构建脚本或创建 PDF 1 2 一页手册https web
  • 字母数字验证在 jquery 中不起作用

    我的代码如下 包含所有必需的js文件 当我提交表单而不为 UserDetailAliasName 提供任何值时 表单不会提交并显示验证错误消息 此字段是必需的 但是如果我提交像 等值 表单会提交数据 我使用此表单从数据库搜索用户名 docu
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 如何在 CakePHP 中“验证”人名?

    我有一个 PHP 脚本 应该检查 有效 的人名 但最近破解了带有空格的名称 因此我们向验证器添加了空格 除了这样做之外 有没有办法向 CakePHP 的验证器添加黑名单以阻止所有 无效 字符 而不是允许 有效 字符 注意 我 通常 知道如何
  • 在 Bootstrap 中使用 CakePHP 时如何修改包装器 div 错误类

    我在用着Bootstrap 3 0RC1 with CakePHP 2 3 6 尝试利用那些漂亮的课程 例如has error and has warning for 验证状态 http getbootstrap com css forms
  • CakePHP 多站点(如 WPMU + 域映射)...可能吗?

    所以我刚刚开始使用 CakePHP 想知道是否可以执行以下操作 一次安装 Cake 并使用超级管理员登录 然后 管理员有权访问指定的 子站点 并能够在这些子站点上创建 编辑内容和用户 最后 能够将域名 不是子域 而是唯一域 映射到路由 所以
  • CakePHP hasOne/belongsTo 模型关系

    我有几个模型正在尝试关联 一种模型是Item 一个是Slide 另一个是Asset 项目下方有多个幻灯片 资产基本上是已上传的文件 图像 mp3 等 幻灯片是显示资产的位置 每张幻灯片都有一个资产 但给定的资产可能属于多张幻灯片 一张幻灯片
  • CakePHP 中没有模型的简单表单

    我正在尝试在产品页面中添加请求附加信息的表单 这是一个简单的表格 包含姓名 国家 地区 电子邮件和问题字段 我创立了这个tutorial http snook ca archives cakephp contact form cakephp
  • 动态创建的数据源未传递到 CakePHP 中的关联模型

    我有一个模型 汽车 该汽车有几个关联的模型 让我们考虑其中一个与hasMany关系 轮 在我的 CarsController 中 我使用以下代码动态生成数据源 schemaName this gt Session gt read User
  • CakePHP 中的 hasMan 简化为 hasOne

    基本上我在 CakePHP 中有以下模型 User id username Photo id user id path 我已经建立了以下关系 用户有很多照片 在一个屏幕上 我想列出用户 并在每个用户旁边显示随机照片 我尝试建立以下关系 用户
  • 如何在索引视图中打印关联数据

    subjects this gt Subjects gt find all contain gt Users fields gt Users username Users email gt hydrate false gt toArray
  • cakephp中的递归是什么意思?

    好吧 我正在关注的教程中有这行代码 但是 它没有为我提供有关递归的明确解释 我是 cakephp 的新手 搜索了这个 递归 我希望有人能为我提供这段代码的外行解释 this gt Author gt recursive 1 谢谢 Googl
  • Cakephp-3.x:如何更改选定别名的数据类型?

    当我尝试这样做时 fields array id gt custom id title gt some name 我得到的结果有id作为字符串 If I do fields array custom id title gt some nam
  • Cakephp 在 Bluehost 上安装

    如何设置 Cakephp 才能在 Bluehost 上正常工作 我应该将我的应用程序 cake 和供应商文件夹以及 htaccess 和 index php 文件放在 public html 目录中吗 我按照这里的说明进行操作 http b
  • CakePHP 2.0 还需要在模型中声明 $name 吗?

    我的印象是我们必须声明 public name ModelName 在 PHP4 专用的模型中 现在 cakephp 不再支持 PHP4 我认为模型中不再需要 name 声明 不过 食谱仍然有包含它的说明 http book cakephp
  • 未找到 CakePHP DebugKit/插件 webroot

    我已经安装了 CakePHP 的调试工具包 但它无法在我的页面上正确加载 它只是页面底部的一堆文本和数组 我的浏览器显示出现 404 错误 debug kit css debug toolbar css debug kit js jquer

随机推荐