Oi, salvo dados em 3 tabelas, sendo que uma é relacionada à outra.
Para explicar melhor, vou "desenhar".
Tenho 3 tabelas:
users
users_groups
users_groups_permissions
Na tabela users:
id, name
Na tabela users_groups, tenho:
id, user_id, name
Na tabela users_groups_permissions, tenho:
id, user_group_id, permission
No código, insere belezinha para apenas um registro em users_groups_permissions, como abaixo:
$this->_trim($this->data);
$validates = true;
$this->Site->UserGroup->set($this->data);
$validates &= $this->User->UserGroup->validates();
if ($validates) {
$user = $this->User->UserGroup->saveAll($this->data['UserGroup'], array('validate' => false));
if ($user) {
foreach ($this->data['UserGroup'] as $key => $value) {
$this->data['UserGroup'][$key]['SiteHydroSeiom']['site_hydro_id'] = $this->Site->SiteHydro->id;
$this->log( 'UserGroupPermission.user_group_id: ' . print_r($this->data['UserGroup'][$key]['UserGroupPermission']['user_group_id'], true), 'debug');
$this->Site->UserGroup->UserGroupPermission->save($this->data['UserGroup'][$key]['UserGroupPermission'], array('validate' => false));
//unset($this->Site->UserGroup->id); -- tentei este unset() mas no segundo registro seta NULL no bd..
}
return 1;
} else {
return 0;
}
O problema é que se na tabela users_groups, for inserido mais de um grupo ao mesmo tempo, recupera apenas a últim id de users_groups e salva na tabela users_groups_permissions, para o campo user_group_id, mas eu precisaria que fossem salvas todas as ids em users_groups.
Um amigo me deu uma dica, tentar inserir um registro por vez, da seguinte forma:
Question
.ılı.ıl. TYLЄR .lıl.llı.
Oi, salvo dados em 3 tabelas, sendo que uma é relacionada à outra.
Para explicar melhor, vou "desenhar".
Tenho 3 tabelas:
Na tabela users:
id, name
Na tabela users_groups, tenho:
id, user_id, name
Na tabela users_groups_permissions, tenho:
id, user_group_id, permission
No código, insere belezinha para apenas um registro em users_groups_permissions, como abaixo:
O problema é que se na tabela users_groups, for inserido mais de um grupo ao mesmo tempo, recupera apenas a últim id de users_groups e salva na tabela users_groups_permissions, para o campo user_group_id, mas eu precisaria que fossem salvas todas as ids em users_groups. Um amigo me deu uma dica, tentar inserir um registro por vez, da seguinte forma:E por último utilizar save() ao invés de saveAll(), mas deu erro fatal na página sem o saveAll().
Alguma idéia?
Abração!
Edited by .ılı.ıl. TYLЄR .lıl.llı.Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.