【发布时间】:2013-11-13 08:41:34
【问题描述】:
下面是关联、保存调用和要保存的数据。它为Event 生成UPDATE 查询,但没有生成查询来保存关联的EventInstance。
EventInstance 数据是在事件的 beforeSave() 中创建的。
它说它保存得很好 - 没有验证错误..等等。无论如何,我在 EventInstance 模型上没有验证数组。我还检查了,我的表没有任何问题,因为字段不允许 null ......等等。 - 我通过将所有内容设置为允许为空来进行测试。
我不知道 - 这应该如此简单 - 我之前已经完成了 500 次,但是对于这一次,我显然遗漏了一些东西。
// Event model --------------------------
public $hasMany = array(
'EventInstance' => array(
'dependent' => true,
'order' => 'start ASC',
),
...
// Save call in Event model -------------
$this->saveAll($data);
// $data -------------------------
'Event' => array(
'id' => 'xxxxxxxx-65b4-4a75-ba4a-xxxxxxxxxxxx',
'repeat_type' => '1',
'repeat_interval' => '2',
'repeat_weekdays' => 'ns',
'repeat_on' => '1',
'repeat_on_weekday' => '',
'repeat_on_day' => '1',
'repeat_end' => '',
'timezone' => 'America/New_York',
'times' => '',
'modified' => '2013-11-02 01:07:27',
'start' => '2013-11-03 01:36:00',
'end' => '2013-11-10 05:36:00',
'start_utc' => '2013-11-03 05:36:00',
'end_utc' => '2013-11-10 10:36:00'
),
'EventInstance' => array(
(int) 0 => array(
'start' => '2013-11-05 01:11:00',
'end' => '2013-11-05 05:36:00'
),
(int) 1 => array(
'start' => '2013-11-07 01:11:00',
'end' => '2013-11-07 05:36:00'
),
(int) 2 => array(
'start' => '2013-11-09 01:11:00',
'end' => '2013-11-09 05:36:00'
),
(int) 3 => array(
'start' => '2013-11-11 01:11:00',
'end' => '2013-11-11 05:36:00'
)
)
【问题讨论】:
-
我唯一能看到的是您的
public $hasMany = array(缺少)(作为结束),您正在显示...,这就是其中的内容以及其他未发布的信息吗?跨度> -
你在使用innodb作为存储引擎吗?
-
@Fred-ii- 这不是语法错误 - 只是不想在这里写下我所有的关联。
-
@BarryChapman - 我不知道,但如果它甚至不尝试查询,我不确定这是否重要。
-
@Dave 是的,我对此有点怀疑。
标签: php cakephp save associations cakephp-2.4