Rotas have many lines and Lines belongs to Rotas. I am trying to
create a function that will take an existing record (a rota with n
lines) and save it as a new rota complete with the associated lines.
I can create a new rota and add new lines, I can create a new rota
based on an existing one but with no lines.
I am aware of unsetting the id to force an add but cannot seem to
bring the associated lines with it. I have scoured the forums and have
been bashing this one for 2 weeks now - can anyone give me a clue?
The first part of the function creates a new rota record but the
second part creates nothing (trying to savas existing lines).
I have also tried getLastInsertID() but cannot seem to get a value
from this.
I think my basic principle is wrong!
function copyLast($id = null) {
$this->Rota->recursive = 2;
unset( $this->data['Rota']['id'] );
if ($this->Rota->save($this->data)) {
if (!empty($this->data)) {
$this->data = $this->Rota->read(null, $rota_id);
$tempData = $this->data['Line'];
foreach($tempData as $id => $value)
{
unset( $this->data['Line'][$id]['id'] );
unset( $this->data['Line'][$id]['rota_id'] );
unset( $this->data['Line'][$id]['Rota']['id'] );
$this->Rota->Line->create();
$this->Rota->Line->save($this->data);
}
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---
No comments:
Post a Comment