属于 cakephp 和 html select 中的问题,我不明白该怎么做

2024-04-19

cakephp菜鸟提出的简单问题:

我有两个模型,玩家和团队。

Team 有一个id (int) 和一个cool_name (varchar)。

玩家有一个 id (int)、一个 Cool_name (varchar) 和一个团队表引用 team_id (int)。

Cool_name 而不是 name 因为我没有英文表,所以我不能使用字段“name”。

所以,一个球队有很多球员,一个球员属于球队。

我的播放器型号:

class Player extends AppModel {
    var $name = 'Player';
    var $belongsTo = array('Team');
}

(团队模型里面除了名字什么都没有)

玩家控制器:

class PlayersController extends AppController {
    var $name = 'Players';

    function add() {
          $this->set('teams', $this->Player->Team->find('list'));
   //then save... 
    }

在播放器的添加视图中:

//...
echo $form->input('squadra_id');
//...

好的,我有一个选择,其中包含团队 ID;我不需要 id,而是团队的名称,然后保存 id:类似于(在 html 中)

<select name="data[Player][team_id]" id="PlayerTeamId">
<option value="1">Cool Name 1</option>

<option value="2">Cool Name 2</option>
<!-- -->
<option value="{team id}">{team cool name}</option>
</select>

我能怎么做?

  • Solution -

代替

$this->set('teams', $this->Player->Team->find('list'));

put this

$this->set('teams', $this->Player->Team->find('list', array('fields' => array('cool name') ) ) );

既然你正在做一个find( 'list' )反对你的Team模型并且该模型有一个name属性(CakePHP 默认将其识别为显示字段),您应该返回的是一个关联数组,其中键是团队 ID,值是团队名称。将此与您将该数组设置在名为的变量中的事实相结合teamsCake 将为您完成这项工作。

在你的表格中,我不确定在哪里'squadra_id'来自,但将其更改为'teams'您应该看到选择列表很好地填充:

echo $form->input( 'teams' );

如果我理解正确,那么除了您视图中的输入定义之外,您拥有启用此“魔法”的所有正确内容。您可以阅读有关如何使用的更多信息find( 'list' )自动填充选择框http://book.cakephp.org/view/189/Automagic-Form-Elements http://book.cakephp.org/view/189/Automagic-Form-Elements.

希望这可以帮助。

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

属于 cakephp 和 html select 中的问题,我不明白该怎么做 的相关文章

随机推荐

  • 如何启动第二个 Java 进程?

    如何启动第二个独立于平台的 Java 进程 理想情况下 它应该与当前运行的 Java 版本相同 有什么有用的系统属性吗 您可以使用java home系统属性来查找当前的 JVM String jvm new java io File new
  • 如何以编程方式获取 iOS 状态栏高度

    我知道目前 iPhone iPad 顶部的状态栏 包含时间 电池和网络连接 对于非视网膜屏幕为 20 像素 对于视网膜屏幕为 40 像素 但为了未来证明我的应用程序 我希望无需硬编码值即可确定这一点 是否可以通过编程计算出状态栏的高度 UI
  • Q_PROPERTY NOTIFY 信号及其参数

    我有写 propertyChanged 的习惯signals 带参数 这样接收端就不需要调用Q PROPERTY s READ明确地发挥作用 我这样做是出于清晰的考虑 并且假设在 QML 数据绑定情况下 不需要对 getter 进行 昂贵
  • 如何在 TypeScript 中创建本地模块

    我已经在文件夹中创建了src modules my module 其中有package json并定义了导出我们需要的所有内容的主文件 我现在可以从中导入import A from modules my module 我想将语法更改为imp
  • 如何通过sql查询在数据库中只保存时间而不保存日期

    此查询正在保存完整的日期和时间 但我只想在数据库中保存时间而不是日期 有什么查询可以做到这一点吗 update table set current time now 您的列必须设置为 DATETIME 或 TIMESTAMP 如果您使用 T
  • 使用 Google Apps 脚本抓取动态网页

    我想使用其他网站读取项目的一些数据谷歌脚本 https script google com 有问题的页面是Dyanmic 它们包含在初始页面加载后通过 JavaScript 调用服务器加载的内容 通常 对于一些静态内容 这工作得很好 但我对
  • 无法将 CSS 应用于 html 字符串

    我正在尝试将 evoPDF 集成到我的 asp net 应用程序上 我通过 ajax 从我的 html 文件 onclick 发送部分 html 直到这一部分一切正常 现在 当我从 EvoPdf API 调用这些方法时 1 GetPdfBy
  • 如何计算连续行的时间差

    原始数据如下所示 我想按访问者和时间对其进行排序 以计算行中的时间差 然后将其保存到新文件中 visitor v time payment items 1 Jack 1 2 2018 16 07 35 3 2 Jack 1 2 2018 1
  • 在 C++ 中使用 realloc

    std realloc如果 malloc 的内存包含非 Pod 类型 则在 C 中是危险的 看来only问题是std realloc如果无法在原位增加内存 则不会调用类型析构函数 一个简单的解决方法是try realloc功能 如果新内存无
  • 如何在java中获取大尺寸数组

    我是java新手 我想在java中获取大输入大小的数组 但给了我一些运行时错误 NZEC 我不知道它 我也对此错误做了一些研究 但没有找到与我的问题相关的任何内容 long n sc nextLong n can be upto 10 9
  • YouTube API 身份验证 - Iphone

    我正在尝试使用 youtube api 的示例代码上传视频 当我按下上传按钮时 进度条完成其过程 但是一旦到达终点我就会收到错误 错误描述如下 YouTubeTest 2149 f803 错误 错误 Domain com google GD
  • 防止 TestNg 在并行测试之间共享数据

    Goal 并行独立运行 2 个类 其中每个测试将方法名称存储到稍后可以在测试中访问的变量中 Issue 当测试并行运行时 它们开始在彼此之间共享数据 从而破坏测试 如果您看到控制台输出 则这是错误的 INFO Name of Test fr
  • 我可以在 Javascript 中定义自定义运算符重载吗? [复制]

    这个问题在这里已经有答案了 是否可以在 JavaScript 中的类型实例之间定义自定义运算符 例如 假设我有一个自定义向量类 是否可以使用 vect1 vect2 检查是否相等 而底层代码会是这样的 operator a b return
  • 使用控件模板创建图像+文本按钮?

    我厌倦了一遍又一遍地创建相同的图像 文本按钮 我想将标记移动到控件模板 这是我的问题 我需要提供模板绑定以将图像和文本添加到模板化按钮 而 Button 控件似乎没有我可以绑定的属性 到目前为止 我的模板看起来像这样 带有 表示未知模板绑定
  • 如何在特定项目中禁用“初始化 JS/TS 语言功能”?

    我有一个 Laravel 项目在 Visual Studio Code 中开发它 另外 我在一个单独的项目中也有使用 Angular 8 的前端 该项目也使用 VSC 我构建 Angular 项目并将构建版本推送到 Laravel 项目中
  • eclipse项目未导入本地Maven仓库中的jar包

    我在设置 Eclipse 项目时遇到问题 问题是每当我创建一个新项目并导入代码时 Eclipse 不会解析 C user m2 repository 中存在的 jar 文件中存在的包 因此 它会给出很多编译错误 直到我通过 添加外部 Jar
  • 任务“:app:transformClassesWithDexForDebug”执行失败

    我正在尝试执行代码 但我在消息中收到错误消息梯度构建 that Execution failed for task app transformClassesWithDexForDebug Error Execution failed for
  • Jupyter + EMR + Spark - 从本地计算机上的 Jupyter 笔记本连接到 EMR 集群

    我是 PySpark 和 EMR 的新手 我尝试通过 Jupyter Notebook 访问 EMR 集群上运行的 Spark 但遇到错误 我使用以下代码生成 SparkSession spark SparkSession builder
  • 从文件读取时在 clojure 中分割行

    我正在学校学习 clojure 马上就要考试了 我只是在做一些事情以确保我掌握了窍门 我试图从文件中逐行读取 正如我所做的那样 只要有 我就想分割该行 到目前为止 这是我的代码 defn readFile map fn line cloju
  • 属于 cakephp 和 html select 中的问题,我不明白该怎么做

    cakephp菜鸟提出的简单问题 我有两个模型 玩家和团队 Team 有一个id int 和一个cool name varchar 玩家有一个 id int 一个 Cool name varchar 和一个团队表引用 team id int