【发布时间】:2015-11-26 10:45:54
【问题描述】:
我有 3 个模型:A、B、C。
A 有很多 B
A 有很多 C
B 有很多 C
A
/ \
/ \
/ \
| |
^ ^
B ----< C
我创建了视图和控制器添加方法。
表格数据:
$data = array(
'A' => array(
'id' => '',
'name' => 'alpha',
'B' => array(
'id' => '',
'name' => 'beta',
'C' => array(
'id' => '',
'name' => 'gamma'
)
)
)
)
我使用$this->A->saveAssociated($data, ['deep' => true]) 调用保存表单数据。
如果我查询新创建的 A 模型,我会得到以下数据:
array(
'A' => array(
'id' => (int) 111,
'name' => 'alpha',
'B' => array(
'id' => (int) 9,
'a_id' => (int) 111,
'name' => 'beta',
'C' => array(
'id' => (int) 78,
'b_id' => (int) 9,
'a_id' => (int) 0,
'name' => 'gamma'
)
)
)
)
我的问题是 C 模型 a_id 字段没有很好的价值/与新创建的 A 模型无关。
是否可以通过一次saveAssociated($data, ['deep' => true]) 调用来保存它们?
【问题讨论】:
-
您需要展示您正在保存的
$data的示例。 -
如果我可以保存和查询数据。真的需要吗?但是给你。 :)
-
我想我需要一种在保存期间覆盖 Cake 外键设置器方法的方法。
-
谢谢。显示正在保存的数据有助于澄清您的要求。我添加了一个答案/建议(不确定是否有帮助)。
标签: cakephp cakephp-2.x