CakePHP Master/Detail 表单 - 简单问题
Posted
技术标签:
【中文标题】CakePHP Master/Detail 表单 - 简单问题【英文标题】:CakePHP Master/Detail Form - simple Issue 【发布时间】:2015-02-24 02:32:58 【问题描述】:我正在使用 Cake 构建一个简单的主/详细信息编辑表单,但无法从详细信息记录中获取值来填充表单。
工单 -> 主 WorkorderIssues -> 详细信息
DebugKit 告诉我数据正在从主表和详细表正确返回。
我可以很好地使用主数据填充表单:
表单->输入('workorder_ref');?>..但同样的方法不适用于详细数据:
表单->input('WorkorderIssues.issue_owner');?>发布数据:
工单(数组) workorder_id 1 workorder_ref 9212
工作订单问题(数组) 0(数组) 问题 ID 1 issue_workorder_id 1 问题所有者肖恩
我将不胜感激。我可能忽略了一些简单的事情。
非常感谢, 肖恩
【问题讨论】:
添加一些样本。根据您的尝试,它将更容易诊断。谢谢 Lars - 感谢您花一分钟时间查看。我的问题是(像往常一样)语法。为了访问相关数据,我成功地使用了 Form->input('workorderissues.n.fieldname');祝你有美好的一天。 很高兴您找到了答案,但请务必将您的笔记添加为答案并以这种方式进行标记,这样问题就不会永远处于未回答状态。 【参考方案1】:问题的上下文是主/详细记录的编辑表单,其中 hasMany 从 Workorder 到 WorkorderIssue 关联。
请求中的主数据可以像往常一样访问: 表单->输入('字段名');只有一条记录。
在我的示例中,主数据(工作订单)的访问方式为:
form->input('workorder_num');
关联/详细数据中的多条记录可以通过以下方式访问:
form->input('workorderissue.0.issue_description');
form->input('workorderissue.0.issue_owner');
form->input('workorderissue.1.issue_description');
form->input('workorderissue.1.issue_owner');
form->input('workorderissue.2.issue_description');
form->input('workorderissue.2.issue_owner');
...整数索引 (0,1,2) 表示每个记录所在的数组元素。
【讨论】:
以上是关于CakePHP Master/Detail 表单 - 简单问题的主要内容,如果未能解决你的问题,请参考以下文章