Solved thread

This post is marked as solved. If you think the information contained on this thread must be part of the official documentation, please contribute submitting a pull request to its repository.

SAVE INSIDE A FOR OR WHILE

im trying to create a save inside a for but the variable $i is not incremented

$i=0;
$many=8;
for($i<$many)
{
    $people=new People();
    $people->number=$i;
    $people->save();
    $i=$i+1;
}


83.4k
Accepted
answer

Save is a method:

$people->save();


2.9k
edited May '14

is not that i do it like that just that i forgot to typed on my question

sorry for my bad english



83.4k

OK THANKS FOR FIXING IT



2.9k
edited May '14

the thing is that im trying to save for example 8 times $i but just doit once that's it and i dont understand why

please help me

si sabes español porfavor ayudeme y me explica en español

el problema es que estoy intentando guardar la variable $i 8 veces como en el ejemplo pero solo lo hace una vez y se sale del for o while

con ninguno me funciona



83.4k

Could you please post the table structure?



2.9k

the model?



83.4k

the sql, show create table ¨name¨



2.9k
CREATE TABLE IF NOT EXISTS `people` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(30) NOT NULL,
  `apellido` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


2.9k

yo envio mediante ajax varios valores y los necesito guardar por medio de un while o for y no lo hace



83.4k

Your table has two fields called "nombre" and "apellidos" (not null is allowed), but you're assigning only "number" which is not declared on the table.

Tu tabla tiene los campos "nombre" y "apellidos" (que son obligatorios) y solo estas asignando "number" que no existe en la tabla.



2.9k

lo que propuse anteriormente era un ejemplo, no con campos reales, seria tan amable de facilitarme un codigo de ejemplo para guardar informacion en una tabla dentro de un ciclo repetitivo?



83.4k

Intenta esto:

    public function testAction()
    {
        $i = 0;
        $many = 8;
        while ($i < $many) { // es 'while' no 'for' 
            $people = new People();
            $people->nombre = $i; //asignar cada campo con un valor
            $people->apellido = $i; //asignar cada campo con un valor
            if (!$people->save()) { // esto muestra si hay mensajes de validacion
                foreach ($people->getMessages() as $message) {
                    echo $message;
                }
            }
            $i++; //asi se incrementa en php
        }
    }

La tabla:

CREATE TABLE `people` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(30) NOT NULL,
  `apellido` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1

El modelo:

<?php

class People extends Phalcon\Mvc\Model
{

}


2.9k

Muchas gracias amigo, de verdad me sirvio mucho y espero seguir contando con su apoyo. Seguiremos apoyandonos entre usuarios para resolver dudas y seguir aportando en el desarrollo y crecimiento de este framework.