未选择 HABTM 下拉项目

2023-12-04

我创建了一个网站来学习 CakePHP,但由于某种原因,我无法获得多选下拉框来显示我所选择的项目。在此示例中,1 个视频游戏可以有多种难度(简单、普通、困难)。在我的游戏编辑页面上,我有一个多选框来选择困难。它显示了所有三个困难,我可以选择它们并且它可以正确保存。但是,当我返回编辑页面时,我之前保存的项目不会突出显示为选定的。我已验证记录是否正确保存在数据库中。

表格: 游戏 困难 困难_游戏

Models:

class Game extends AppModel {
public $actsAs = array('Containable');
public $hasAndBelongsToMany = array(
    'Difficulty' =>
        array(
            'className' => 'Difficulty',
            'joinTable' => 'difficulties_games',
            'foreignKey' => 'game_id',
            'associationForeignKey' => 'difficulty_id',
            'unique' => 'true'
            )
);
}
class Difficulty extends AppModel {
public $actsAs = array('Containable');
public $hasAndBelongsToMany = array(
    'Game' =>
        array(
            'className' => 'Game',
            'joinTable' => 'difficulties_games',
            'foreignKey' => 'difficulty_id',
            'associationForeignKey' => 'game_id',
            'unique' => 'true'
            )
);
}

控制器:

$game = $this->Game->findById($id);
$this->set('difficulties', $this->Game->Difficulty->find('list'));

查看(编辑.ctp):

echo $this->Form->input('Difficulty');

这必须是我所缺少的简单内容,但我已经阅读了有关 HABTM 的书并在这里进行了搜索,但在多选框上找不到太多内容。

UPDATE:

这是控制器中的整个编辑功能:

public function edit($id = null) {
    if (!$id) {
        throw new NotFoundException(__('Invalid post'));
    }

    $game = $this->Game->findById($id);
    if (!$game) {
        throw new NotFoundException(__('Invalid post'));
    }
    if ($this->request->is('post') || $this->request->is('put')) {
        $this->Game->id = $id;
        if ($this->Game->saveAll($this->request->data)) {
            $this->Session->setFlash('Your game has been updated.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash($this->Game->invalidFields());
        }
    }

    if (!$this->request->data) {
        $this->request->data = $game;
    }
    $this->set('systems', $this->Game->System->find('list'));
    $this->set('genres', $this->Game->Genre->find('list'));
    $this->set('difficulties', $this->Game->Difficulty->find('list'));


}

这里还有一些关于视图的更多内容:

echo $this->Form->create('Game');
echo $this->Form->input('name');
echo $this->Form->input('system_id');
echo $this->Form->input('genre_id');
echo $this->Form->input('Difficulty');
echo $this->Form->input('id', array('type' => 'hidden'));
echo $this->Form->end('Save Game');

您使用的 CakePHP 版本是什么?版本 2.2.6 和 2.3.0 存在与显示已选择的现有 habtm 相关的错误。因此,如果使用 2.2.6 或使用 2.3.0,则更新到 2.2.7,使用 github 的 master 分支,直到下一个错误修复版本完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未选择 HABTM 下拉项目 的相关文章

  • 如何使用 CakePHP APP 类从 URL 加载 XML 文件?

    我正在使用 CakePHP XmlHelper 来解析 XML 文件 例如 App import Xml file my xml file xml parsed xml new XML file 我如何使用它从 URL 加载 XML 文件
  • CakePHP 错误:无法配置会话,设置 session.auto_start 失败

    我收到此错误 Error CakeSessionException Unable to configure the session setting session auto start failed 我正在使用 Cakephp 2 2 4
  • CakePHP ajax 帖子不断返回 400 Bad Request

    我正在尝试使用 ajax post 来执行操作 GET 请求工作正常 但当我尝试 POST 时 我在 firebug 中看到 400 Bad Request 并且视图返回 黑洞 响应 这是 Jquery 请求 ajax url usermg
  • CakePHP 无法写入某些文件

    我开始使用 CakePHP 为我的框架开发一个网站 我实际上刚刚开始并且已经遇到了错误 我无法理解它们的含义 Warning cake core cache was unable to write cake dev en us to Fil
  • CakePHP:控制台命令中的自定义错误报告

    我们当前使用 CakePHP 2 4 7 和自定义错误处理程序 自定义错误处理程序适用于通过 HTTP 或 CronDispatcher 发出的每个请求 不幸的是 当向我们的控制台命令之一发出控制台请求时 错误处理程序被忽略 请参见以下示例
  • cakePHP 命名约定如何工作?

    我对 PHP 比较陌生 开始学习 PHP 但后来遇到了 cakePHP 它应该可以加快开发时间 阅读文档和博客教程后 我仍然不明白命名约定 我想直到我开始做一些例子我才会知道 但是为了让我开始 有人可以向我解释 cakePHP 如何将数据库
  • Cakephp:将 AppController 抽象到另一个层次,可能吗?

    我想知道是否可以在 AppController 和我的应用程序的其他控制器之间添加另一个抽象控制器 这样我的控制器 例如UsersController 扩展了 SecureController SecureController 扩展了 Ap
  • 如何安装 Miles J 的 cakephp 论坛插件?

    我很确定这是一个蛋糕 1 3 问题 该插件与 2 0 不兼容 我正在尝试为论坛安装 cakephp 的 Miles J 插件 可以在这里找到 http milesj me code cakephp forum http milesj me
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • Cakedc.users => 总是重定向到主页

    我在新的 Cakephp 安装上使用插件 CakeDC Users 我有两个控制器 PagesController php CardsController php Pages 有 1 个操作 Beta 它是主页 Cards 有两个操作 索引
  • 在 Bootstrap 中使用 CakePHP 时如何修改包装器 div 错误类

    我在用着Bootstrap 3 0RC1 with CakePHP 2 3 6 尝试利用那些漂亮的课程 例如has error and has warning for 验证状态 http getbootstrap com css forms
  • 如何安全地使用保留的 SQL 名称?

    我正在使用 Cakephp 3 使用 sqlserver 作为数据源服务器 我确信我的数据库连接没有问题 因为 home ctp 提示我已连接到我的数据库 并且我还使用迁移插件来创建我的表 似乎使用它没有问题这些工具 但是在我烘焙 MVC
  • 未定义的变量:$_SESSION

    我越来越E NOTICE当核心 CakePHP 文件尝试引用从未设置或未设置的会话时 会出现错误 cake libs cake session php line 372 function read name null if is null
  • 动态创建的数据源未传递到 CakePHP 中的关联模型

    我有一个模型 汽车 该汽车有几个关联的模型 让我们考虑其中一个与hasMany关系 轮 在我的 CarsController 中 我使用以下代码动态生成数据源 schemaName this gt Session gt read User
  • 如何在索引视图中打印关联数据

    subjects this gt Subjects gt find all contain gt Users fields gt Users username Users email gt hydrate false gt toArray
  • 使用 CakePHP 为自定义模板链接创建分页

    我遵循分页链接的自定义模板 li class prev a href prev a li li a href class active 1 a li li a href 2 a li li a href 3 a li li a href 4
  • cakephp中的递归是什么意思?

    好吧 我正在关注的教程中有这行代码 但是 它没有为我提供有关递归的明确解释 我是 cakephp 的新手 搜索了这个 递归 我希望有人能为我提供这段代码的外行解释 this gt Author gt recursive 1 谢谢 Googl
  • CakePHP Unfilled 单选按钮在提交时更改为不需要的值

    我有这个表单元素 form gt input ChecklistResponseGovernmentInfo driversLicenseIsOnline array type gt radio empty gt true options
  • 何时在 CakePHP 中进行清理

    我读了食谱 第 4 2 节 如果您使用 CakePHP 的 ORM 方法 例如 find 和 save 和正确的数组表示法 即 array field gt value 而不是原始 SQL CakePHP 已经可以保护您免受 SQL 注入

随机推荐

  • 将一个 div 放在两个垂直 div 旁边

    我试图让一个 div 在其容器中的高度为 100 其高度为 50 并在其旁边有两个 div 每个 div 的高度为 50 这是我的意思的一个例子 我还想在所有 div 之间留有边距 如上图所示 到目前为止 这是我的代码 div style
  • 使用正则表达式来匹配具有特定ID的div块[重复]

    这个问题在这里已经有答案了 我正在尝试匹配具有特定 id 的 div 块 这是我的正则表达式代码
  • 两个同一时间谷歌表格的价值差异[重复]

    这个问题在这里已经有答案了 为什么两个相同时间的值不同 因此无法使用vlookup 注意 时间取自两个不同的来源 一个是从网站生成的 CSV 文件 另一个是手动输入的 Example 时间值 上午 10 00 0 4166666666666
  • 将 PHPExcel 与 Composer 和 Symfony2.2 结合使用

    我在SO上找到了这个 如何在 Symfony 2 中正确使用 PHPExcel 这可行 但我想与作曲家一起使用它 我已经解决的第一部分 为特殊标签加载 PHPExcel 最后一个稳定版本 我不知道如何使用以下语法获取标签 repositor
  • 枚举中的数字常量 (c#)

    我正在 SharePoint Web 部件中创建此选择框 并且需要包含当前版本的下拉菜单 因此我需要使用枚举 public enum SelectVersionEnum 2010 2007 好吧 你可以看到它在哪里中断 有没有办法在枚举中使
  • 为什么 XmlDocument Validate 事件处理程序没有被命中?

    我有这个代码 Load the document XmlDocument xmlDocument new XmlDocument use the stream and have it close when it is finished us
  • C++ 可变参数模板和求值顺序

    我有以下代码 lib hxx template
  • Ado.net (2.0+) 连接池是在应用程序域之前还是每个进程

    我试图理解汇集理论 ADO NET 和 SQL Server 之间的交互要好得多 但尚未找到明确的答案 我一直假设每个进程 但我突然想到它可能是每个应用程序域 任何深入的参考文献也将不胜感激 连接池是一个复杂的野兽 因为它们是在几个不同的范
  • 如何使用 Node 中的 Promises 一次并行异步多个请求

    数组和循环 但我希望能够并行运行所有它们 因为我不想一个接一个地运行 我基本上想将所有端点调用状态代码 正文和时间存储为数组 并将它们作为结果返回 无论端点中是否存在错误 我正在使用 Bluebird 如何利用它的功能来解决这个问题 您可以
  • 每个子图的旋转轴文本

    我正在尝试绘制散点矩阵 我正在建立这个线程中给出的示例matplotlib中有制作散点图矩阵的函数吗 在这里 我只是稍微修改了代码 使轴对所有子图都可见 修改后的代码如下 import itertools import numpy as n
  • 如何将 c# 的 byte[] 转换为 java byte[]

    我有这段 C 代码 byte t 6 250 215 但在Java中是 byte t 6 6 41 如何解决这个问题呢 如何解决这个问题呢 第一个是关于java如何表示数据类型 byte 字节数据类型是 8 位有符号二进制补码整数 它的最小
  • 如何使用 redux 存储变量更新 FieldArray 元素

    我将 redux form 与 FieldArray 一起使用 默认情况下 数组中将有 1 个元素 并且它是从 JSON 填充的 我最多可以添加 3 个 FieldArray 组件中的元素 在下面的代码中 elementList 属性来自
  • Android模拟器UDP无法接收;在手机上运行良好

    您好 我正在尝试连接到网络上的盒子 它上面有一个正在运行的 UDP 服务器 使用下面的代码 我可以与盒子通信并从我的手机发送 接收 UDP 数据包 但是 我不知道如何使用 android 模拟器进行设置 我在 StackOverflow 以
  • Firebase 合并 Android 中的类似通知

    我们在 SIP 应用程序中使用 Firebase 以便在应用程序离线时向我们发送未接来电通知和聊天通知 虽然发送和接收工作正常 但我们对 Android 客户端产生了影响 5 个未接来电 obv 会生成 5 个未接来电通知 填满客户端设备上
  • SQL语句证明R(ABCD)中的A->B

    如何编写一个 SQL 语句来证明函数依赖 A B 在已知没有记录具有 NULL 值的情况下与属性 ABCD 存在关系 SELECT from R r1 R r2 where r1 A r2 A and r1 B lt gt r2 B 如果
  • 如何隐藏 Google Blogger 主页上具有特定标签的所有帖子?

    让我们考虑一下 编码 技术 日记 是博客上的一些标签 我不想在主页上显示所有 日记 标签的帖子 以及我其余的标签帖子 那么我想做什么 我希望 XML 代码能够隐藏主页中带有一些标签的帖子 我在 yahoo google yandex 等搜索
  • 使用 python 文件启动 ipython 笔记本

    我对 python ipython 不太熟悉 但有人问我是否可以使用特定的 python 文件启动 ipython 笔记本 然后它可以用于调试 然后 另一个软件会在临时文件夹中创建一个 py 文件 并使用该文件调用 ipython 笔记本
  • 多线程检查队列中的成员资格并停止线程

    我想使用 2 个线程迭代列表 一个来自前导 另一个来自尾随 并将元素放在一个Queue在每次迭代中 但在将值放入之前Queue我需要检查其中的值是否存在Queue 当其中一个线程将该值放入Queue 所以当发生这种情况时 我需要停止线程并返
  • 服务器因 Meteor + 异步结果不匹配而在 HTTP.call 上崩溃

    我尝试使用 Meteor 的 HTTP 库进行一些基本的 GET 调用时得到两个非常奇怪的结果 这些相同的请求可以在 Curl 和 python 中正常工作 因此它不在 API 一侧 1 结果与异步回调结果不一致 我在我的流星方法中使用以下
  • 未选择 HABTM 下拉项目

    我创建了一个网站来学习 CakePHP 但由于某种原因 我无法获得多选下拉框来显示我所选择的项目 在此示例中 1 个视频游戏可以有多种难度 简单 普通 困难 在我的游戏编辑页面上 我有一个多选框来选择困难 它显示了所有三个困难 我可以选择它