У меня есть следующие данные, контроллер и модель, которые мне нужно сохранить вместе. Foo
сохраняется, а затем Bar
, но deep
опции seens не работают при сохранении Baz
.Не удается сэкономить 3 уровня от контроллера
данных
array(
'Foo' => array(
'field1' => 'data',
'field2' => 'data'
),
'Bar' => array(
(int) 0 => array(
'field1' => 'data',
'field2' => 'data',
'Baz' => array(
'field1' => 'data'
)
),
(int) 1 => array(
'field1' => 'data',
'field2' => 'data',
'Baz' => array(
'field1' => 'data'
)
)
[...]
)
)
Контроллер
$this->Bar->Foo->saveAll($data, array('deep', true));
Модель
Bar belongsTo Foo
Foo hasMany Bar
Bar hasOne Baz
Baz belongsTo Bar
Databa се Fk
Foo
Bar.foo_id
Baz.bar_id
getDatasource()->getLog()
сообщение говорит, что не может сохранить из-за внешнего ключа. Очевидно, Baz
не может получить fk из сохраненного Bar
.
Я действительно не могу найти, что не так.
'ddep' только опечатка; D –
Мне нужно создать' Foo' сначала, чтобы использовать fK внутри 'Bar' (' Bar.foo_id'), поэтому он не может инвертировать порядок сохранения. –
Weel, я triple проверил мою модель, и seens, что один fk назван неправильным. Благодаря! –