Edición de «CRUD»

De KumbiaPHP Framework Wiki

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 3: Línea 3:
 
[[ActiveRecord]] implementa automáticamente las cuatro operaciones básicas sobre una tabla: Crear, Leer, Actualizar y Borrar.
 
[[ActiveRecord]] implementa automáticamente las cuatro operaciones básicas sobre una tabla: Crear, Leer, Actualizar y Borrar.
  
''[[==Consultando Registros==]]''
+
==Creando Registros==
 +
 
 +
Manteniendo la idea del Objeto-Relacional podemos pensar que crear registros es lo mismo que crear objetos, entonces podríamos estar en lo cierto. Asignar a un objeto valores y ejecutar el método create o save es todo lo que tenemos que hacer.
 +
 
 +
Ejemplo
 +
<pre>
 +
$album = new Album();
 +
$album->nombre = “Take Off Your Pants and Jacket”;
 +
$album->valor = 40000;
 +
$album->save();
 +
</pre>
 +
 
 +
Adicionalmente a esto puede utilizar el método ‘create’ así como los métodos como ‘createfromrequest’ para crear nuevos registros.
 +
 
 +
Ejemplo
 +
<pre>
 +
$album = new Album();
 +
$album->nombre = “Take Off Your Pants and Jacket”;
 +
$album->valor = 40000;
 +
$album->create();
 +
 
 +
$album = new Album();
 +
$album->create(
 +
    “nombre: Take Off Your Pants and Jacket”,
 +
    “valor: 40000”
 +
);
 +
 
 +
$album = new Album();
 +
$album->create(array(
 +
    “nombre” => “Take Off Your Pants and Jacket”,
 +
    “valor” => 40000
 +
));
 +
</pre>
 +
 
 +
También podemos crear un Nuevo registro a partir de los valores de $_REQUEST
 +
 
 +
Ejemplo
 +
<pre>
 +
$album = new Album();
 +
$album->create_from_request();
 +
</pre>
 +
 
 +
==Consultando Registros==
  
 
Para consultar en una base de datos tenemos que tener claro qué vamos a buscar, es decir definir un criterio de búsqueda. Este criterio le permite a [[ActiveRecord]] devolver el conjunto de objetos que coincidan con este y así poder trabajar esa información.
 
Para consultar en una base de datos tenemos que tener claro qué vamos a buscar, es decir definir un criterio de búsqueda. Este criterio le permite a [[ActiveRecord]] devolver el conjunto de objetos que coincidan con este y así poder trabajar esa información.
Línea 10: Línea 52:
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
# Buscar el Producto con id = 38
 
# Buscar el Producto con id = 38
 
$producto = $Productos->find(38);
 
$producto = $Productos->find(38);
 
print $producto->nombre; # Imprime el nombre del producto id=38
 
print $producto->nombre; # Imprime el nombre del producto id=38
</source>
+
</pre>
  
 
Igualmente necesitamos hacer consultas a partir de otros atributos del modelo no solamente a partir de su llave primaria. [[ActiveRecord]] proporciona una serie de parámetros para crear consultas especializadas que nos permitan acceder a los registros que necesitamos. Para ilustrar esto veamos:
 
Igualmente necesitamos hacer consultas a partir de otros atributos del modelo no solamente a partir de su llave primaria. [[ActiveRecord]] proporciona una serie de parámetros para crear consultas especializadas que nos permitan acceder a los registros que necesitamos. Para ilustrar esto veamos:
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
# Buscar los Productos en estado = ‘C’ y cuyo valor sea menor a 15000
 
# Buscar los Productos en estado = ‘C’ y cuyo valor sea menor a 15000
foreach( $Productos->find(“estado=’C’ and valor<15000” )
+
foreach($Productos->find(“estado=’C’ and valor
 
print $producto->nombre;
 
print $producto->nombre;
 
}
 
}
Línea 35: Línea 77:
 
     “order: fecha desc”);
 
     “order: fecha desc”);
 
print $producto->nombre;
 
print $producto->nombre;
</source>
+
</pre>
  
 
Cabe destacar que el uso de ‘find_first’ devuelve el primer registro que coincida con la búsqueda y ‘find’ todos los registros.
 
Cabe destacar que el uso de ‘find_first’ devuelve el primer registro que coincida con la búsqueda y ‘find’ todos los registros.
Línea 48: Línea 90:
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
#Buscar los productos en estado = ‘$estado’ ordenado por fecha y valor
 
#Buscar los productos en estado = ‘$estado’ ordenado por fecha y valor
foreach($Productos->find(“conditions: estado=’$estado’”,
+
foreach($Productos->find_first(“conditions: estado=’$estado’”,
 
   “order: fecha Desc, valor”,
 
   “order: fecha Desc, valor”,
 
   “limit: 30”) as $prod){
 
   “limit: 30”) as $prod){
 
       print $prod->nombre;
 
       print $prod->nombre;
 
   }
 
   }
</source>
+
</pre>
  
 
Importante  
 
Importante  
 
Advertencia: En Oracle la funcionalidad limit podría no funcionar como se espera. Utilice la condición rownum < numero_filas para hacer esto.
 
Advertencia: En Oracle la funcionalidad limit podría no funcionar como se espera. Utilice la condición rownum < numero_filas para hacer esto.
 
Ejemplo
 
<source lang=php>
 
#Buscar los productos en estado = ‘$estado’ ordenado por fecha y valor
 
foreach($Productos->find(“conditions: estado=’$estado’and rownum <= 30”,
 
  “order: fecha Desc, valor”) as $prod){
 
      print $prod->nombre;
 
  }
 
</source>
 
  
 
==Promedio, Contando, Sumando, Mínimo y Máximo==
 
==Promedio, Contando, Sumando, Mínimo y Máximo==
Línea 74: Línea 107:
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
#Cuantos productos hay?
 
#Cuantos productos hay?
 
print Productos->count();
 
print Productos->count();
Línea 80: Línea 113:
 
#Cuantos productos hay con estado = 'A'?
 
#Cuantos productos hay con estado = 'A'?
 
print Productos->count(“estado='A'”);
 
print Productos->count(“estado='A'”);
</source>
+
</pre>
  
 
Las funciones de agrupación suma, mínimo, promedio y máximo, son utilizadas de esta forma:
 
Las funciones de agrupación suma, mínimo, promedio y máximo, son utilizadas de esta forma:
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
#Cuantos suma el valor de todos los productos?
 
#Cuantos suma el valor de todos los productos?
 
print Productos->sum(“valor”);
 
print Productos->sum(“valor”);
Línea 100: Línea 133:
 
#El valor máximo de los productos activos?
 
#El valor máximo de los productos activos?
 
print Productos->maximum(“valor”, “conditions: estado='A'”);
 
print Productos->maximum(“valor”, “conditions: estado='A'”);
</source>
+
</pre>
  
 
==Actualizando Registros existentes==
 
==Actualizando Registros existentes==
  
Realmente no hay mucho que decir acerca de cómo actualizar registros. Si tienes un objeto [[ActiveRecord]] (por ejemplo un producto de la base de datos), puedes actualizar llamando su método save(). Si este objeto ha sido leído de la base de datos puedes actualizar el registro correspondiente mediante save, en caso de que no exista se insertará un registro nuevo.
+
Realmente no hay mucho que decir acerca de cómo actualizar registros. Si tienes un objeto [[ActiveRecord]] (por ejemplo un producto de la base de datos), puedes actualizar llamando su método save(). Si este objeto ha sido leído de la base de datos puedes actualizar el registro correspondiente mediante save, en caso de que no exista se insertará el un registro nuevo.
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
$producto = $Productos->find(123);
 
$producto = $Productos->find(123);
 
$producto->nombre = "Televisor";
 
$producto->nombre = "Televisor";
 
$producto->save();  
 
$producto->save();  
</source>
+
</pre>
  
 
Otra forma de actualizar registros es utilizar el método update() de esta forma:
 
Otra forma de actualizar registros es utilizar el método update() de esta forma:
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
$producto = $Productos->find(456);
 
$producto = $Productos->find(456);
 
$producto->update(“nombre: Televisor”, “cantidad: 2”);
 
$producto->update(“nombre: Televisor”, “cantidad: 2”);
 
$producto->save();  
 
$producto->save();  
</source>
+
</pre>
  
 
==Borrando Registros==
 
==Borrando Registros==
  
Tampoco hay mucho que decir acerca de cómo eliminar registros. Si tienes un objeto [[ActiveRecord]] (por ejemplo un producto de la base de datos), puedes eliminarlo llamando a su método delete().
+
Realmente no hay mucho que decir acerca de cómo eliminar registros. Si tienes un objeto [[ActiveRecord]] (por ejemplo un producto de la base de datos), puedes eliminarlo llamando a su método delete().
  
 
Ejemplo
 
Ejemplo
<source lang=php>
+
<pre>
 
$Productos->delete(123);
 
$Productos->delete(123);
</source>
+
</pre>
  
 
==Propiedades Soportadas==
 
==Propiedades Soportadas==

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)