Forms 从表单提交时,如何使用CakePHP将数据附加到数据库?
我一直在开发此应用程序,以便在我的生物实验室中使用,我需要以下内容:Forms 从表单提交时,如何使用CakePHP将数据附加到数据库?,forms,cakephp,append,Forms,Cakephp,Append,我一直在开发此应用程序,以便在我的生物实验室中使用,我需要以下内容: 用户将数据添加到文本字段中 当用户想要更新文本字段时,他/她不能更新现有文本,只能将新文本附加到该字段 因此,表单必须包含一个空白文本字段,用户可以输入要附加到现有条目的文本 理想情况下,我还希望在记录每个条目时附加时间戳 正如您所见,它有点像一个实验室笔记本,其中先前输入的数据的完整性很重要 我在第二点上遇到了麻烦,因为我不知道如何创建一个空白文本字段,将数据保存到模型中的相应字段中 以下是我目前拥有的“视图”代码: (我试
更新实验
目标:
笔记本,第页
开始日期:
截止日期:
项目:
地位:
结果摘要:
有人知道我如何着手解决这个问题吗?我现在完全迷路了,因为我以前没有编写此代码的经验。根据要求3和4,我将以一种方式对数据库进行建模,即每个摘要条目都存储在单独的一行中。你需要一张单独的桌子,像这样:
id | experiment_id | summary_entry | summary_entry_timestamp
列experiment\u id
是experiments
表上相关id的外键。表/模型是相关的,因此实验有许多实验总结条目
然后,记录到实验结果摘要将是在该表上插入新行的问题 我必须同意@bfavaretto的观点 如果看不到数据库结构,就很难确定 我怀疑你在做什么
- 这个项目有很多实验
- 实验有一个实验状态
- 实验有许多实验条目
$this->Experiment->id = $this->data['ExperimentEntry']['experiment_id'];
$latestSummary = $this->Experiment->field('result_summary');
$latestSummary .= $this->data['ExperimentEntry']['content']; // you may need to add a newline before you append. up to you
$this->Experiment->save(array(
'Experiment' => array(
'result_summary' => $latestSummary
)));
代码未经测试,因此使用风险自负
**cakephp 2.0文档中没有创建和修改的对应页面,但这确实有效。我以前试过。请说明答案是否足够好。否则,如果你自己找到了,请给出一个更好的答案。
$this->Experiment->id = $this->data['ExperimentEntry']['experiment_id'];
$latestSummary = $this->Experiment->field('result_summary');
$latestSummary .= $this->data['ExperimentEntry']['content']; // you may need to add a newline before you append. up to you
$this->Experiment->save(array(
'Experiment' => array(
'result_summary' => $latestSummary
)));