Hola,
tengo un sistema de mensajes donde elijo enviar un mensaje a uno/muchos usuarios y siempre me guarda uno solo.
Lo q quiero q lograr es guardar el mensaje como tantos usuarios tenga como destinatarios.
Hice lo siguiente:
Código PHP:
//id de usuarios a los q se le mandara el mensaje. Esto viene del form
$idPara = $this->request->data['Message']['para'];
//Hago un for
for ($i=0;$i<count($idPara);$i++){
//Obtengo la cantidad de IDs a enviar
$this->request->data['Message']['to_user_id'] = $idPara[$i];
//Hago un save por cada id. Si tengo 5 usuarios, hago 5 save, etc
$this->Message->save($this->request->data);
}
Eso me guarda un solo registro, un solo id.
Si hago un pr() dentro del for me sale lo siguiente:
Código PHP:
for ($i=0;$i<count($idPara);$i++){
$this->request->data['Message']['to_user_id'] = $idPara[$i];
pr($this->Message->save($this->request->data));
}
die;
resultado:
Código:
Array
(
[Message] => Array
(
[subject] => Envio el mismo mensaje a 3 usuarios
[para] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 1
[4] => 2
[5] => 3
)
[notice] => 0
[type] => from_admin
[from_user_id] => 143
[to_user_id] => 1
[updated] => 2014-02-06 12:27:02
)
)
Array
(
[Message] => Array
(
[subject] => Envio el mismo mensaje a 3 usuarios
[para] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 1
[4] => 2
[5] => 3
)
[notice] => 0
[type] => from_admin
[from_user_id] => 143
[to_user_id] => 2
[updated] => 2014-02-06 12:27:03
)
)
Array
(
[Message] => Array
(
[subject] => Envio el mismo mensaje a 3 usuarios
[para] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 1
[4] => 2
[5] => 3
)
[notice] => 0
[type] => from_admin
[from_user_id] => 143
[to_user_id] => 3
[updated] => 2014-02-06 12:27:03
)
)
Lo raro es q el campo PARA me trae dos veces el mismo id, me genera 6 indices:
tendria q quedarme asi
Código:
[para] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
Q estoy haciendo mal?
Gracias