cakephp-3 有多种形式的数据保存
Posted
技术标签:
【中文标题】cakephp-3 有多种形式的数据保存【英文标题】:cakephp-3 hasmany form data save 【发布时间】:2014-06-23 09:58:01 【问题描述】:我有两个表格简历和链接。简历与链接有很多关系。我想为单个简历保存许多链接。
我的 $this->request->data 数组是这样的
Array
(
[alternate_email] =>
[mobile] => 23232
[level] => Student
[youtube] =>
[links] => Array
(
[0] => Array
(
['link'] => www.google.com
['user_id'] => 1
)
[1] => Array
(
['link'] => abc.com
['user_id'] => 1
)
)
)
$resume = $this->Resumes->newEntity($this->request->data);
if ($this->Resumes->save($resume))
// return true;
这是有效的,我的数据已正确保存在简历表中,但链接表中的数据保存如下:
id | resume_id | user_id | link
1 | 1 | |
我要喜欢
id | resume_id | user_id | link
1 | 1 | | www.google.com
【问题讨论】:
在用户表中是否有字段resume_id
或user_id
?
在我的简历表字段中存在 user_id。
您在数组结构中显示 user_id 和在表格格式中显示 resume_id 是否相同?
你真的需要用一些细节来丰富你的问题。您使用的是最新的 3.x 版本吗?生成的查询是什么样的? debug($resume)
在保存前后说了什么(请用调试结果更新您的问题,不要将它们放在 cmets 中)?任何验证错误?你有实现之前的保存逻辑吗?为什么不希望保存user_id
(如您的“我想要喜欢”示例所示)?
好吧,除了问题应该是独立的,即不依赖于外部信息之外,交叉发布是非常不礼貌的,因为有人在你的问题上浪费他/她的时间。
【参考方案1】:
尝试这样做:
$resume = $this->Resumes->newEntity($this->request->data, ['associated' => ['Links']]);
if ($this->Resumes->save($resume, ['associated' => ['Links']]))
// return true;
【讨论】:
【参考方案2】:转到您的 Model/Entity/Link.php
并将 link
添加到 protected $_accessible
数组
【讨论】:
以上是关于cakephp-3 有多种形式的数据保存的主要内容,如果未能解决你的问题,请参考以下文章