Edición de «Consultas»

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 7: Línea 7:
 
==distinct==
 
==distinct==
  
'''Sintaxis'''
 
 
<source lang=php line>
 
<source lang=php line>
 
distinct([string $atributo_entidad], [“conditions: …], [“order: …”], [“limit: …“], [“column: …”])
 
distinct([string $atributo_entidad], [“conditions: …], [“order: …”], [“limit: …“], [“column: …”])
Línea 14: Línea 13:
 
Este método ejecuta una consulta de distinción única en la entidad, funciona igual que un “select unique campo” viéndolo desde la perspectiva del SQL. El objetivo es devolver un array con los valores únicos del campo especificado como parámetro.  
 
Este método ejecuta una consulta de distinción única en la entidad, funciona igual que un “select unique campo” viéndolo desde la perspectiva del SQL. El objetivo es devolver un array con los valores únicos del campo especificado como parámetro.  
  
'''Ejemplo'''
 
 
<source lang=php line>
 
<source lang=php line>
$unicos = $this->Usuarios->distinct(“estado”)  
+
1.$unicos = $this->Usuarios->distinct(“estado”)  
# array(‘A’, ‘I’, ‘N’)
+
2.# array(‘A’, ‘I’, ‘N’)
 
</source>
 
</source>
  
Los parámetros conditions, order y limit funcionan idénticamente que en la función find y permiten modificar la forma o los mismos valores de retorno devueltos por ésta.
+
Los parámetros conditions, order y limit funcionan idénticamente que en la función find y permiten modificar la forma o los mismos valores de retorno devueltos por ésta.  
  
 
==find_all_by_sql (string $sql) ==
 
==find_all_by_sql (string $sql) ==
Línea 26: Línea 24:
 
Este método nos permite hacer una consulta por medio de un SQL y el resultado devuelto es un array de objetos de la misma clase con los valores de los registros en estos. La idea es que el uso de este método no debería ser común en nuestras aplicaciones ya que ActiveRecord se encarga de eliminar el uso del SQL en gran porcentaje, pero hay momentos en que es necesario que seamos más específicos y tengamos que recurrir al uso de este.  
 
Este método nos permite hacer una consulta por medio de un SQL y el resultado devuelto es un array de objetos de la misma clase con los valores de los registros en estos. La idea es que el uso de este método no debería ser común en nuestras aplicaciones ya que ActiveRecord se encarga de eliminar el uso del SQL en gran porcentaje, pero hay momentos en que es necesario que seamos más específicos y tengamos que recurrir al uso de este.  
  
'''Ejemplo: '''
+
Ejemplo:  
  
 
<source lang=php line>
 
<source lang=php line>
foreach($Usuarios->find_all_by_sql("select * from usuarios  
+
1.foreach($Usuarios->find_all_by_sql("select * from usuarios  
                                  where codigo not in (select codigo  
+
2.                                  where codigo not in (select codigo  
                                        from ingreso)") as $usuario){
+
3.                                        from ingreso)") as $usuario){
          print $Usuario->nombre;
+
4.          print $Usuario->nombre;
}
+
5.}
 
</source>
 
</source>
  
Este ejemplo consultamos todos los usuarios con una sentencia where especial e imprimimos sus nombres. La idea es que los usuarios consultados no pueden estar en la entidad ingreso.
+
Este ejemplo consultamos todos los usuarios con una sentencia where especial e imprimimos sus nombres. La idea es que los usuarios consultados no pueden estar en la entidad ingreso.  
  
 
==find_by_sql (string $sql) ==
 
==find_by_sql (string $sql) ==
Línea 42: Línea 40:
 
Este método nos permite hacer una consulta por medio de un SQL y el resultado devuelto es un objeto que representa el resultado encontrado. La idea es que el uso de este método no debería ser común en nuestras aplicaciones ya que ActiveRecord se encarga de eliminar el uso del SQL en gran porcentaje, pero hay momentos en que es necesario que seamos más específicos y tengamos que recurrir al uso de este.  
 
Este método nos permite hacer una consulta por medio de un SQL y el resultado devuelto es un objeto que representa el resultado encontrado. La idea es que el uso de este método no debería ser común en nuestras aplicaciones ya que ActiveRecord se encarga de eliminar el uso del SQL en gran porcentaje, pero hay momentos en que es necesario que seamos más específicos y tengamos que recurrir al uso de este.  
  
'''Ejemplo:'''
+
Ejemplo:  
  
 
<source lang=php line>
 
<source lang=php line>
$usuario = $Usuarios->find_by_sql("select * from usuarios  
+
1.$usuario = $Usuarios->find_by_sql("select * from usuarios  
                                  where codigo not in (select codigo  
+
2.                                  where codigo not in (select codigo  
                                        from ingreso) limit 1");
+
3.                                        from ingreso) limit 1");
print $Usuario->nombre;
+
4.print $Usuario->nombre;
 
</source>
 
</source>
  
Línea 55: Línea 53:
 
==find_first ==
 
==find_first ==
  
'''Sintaxis:'''
 
 
<source lang=php line>
 
<source lang=php line>
 
find_first([integer $id], [“conditions: …”], [“order: …”], [“limit: …], [“columns: …”])  
 
find_first([integer $id], [“conditions: …”], [“order: …”], [“limit: …], [“columns: …”])  
Línea 62: Línea 59:
 
El método “find_first” devuelve el primer registro de una entidad o la primera ocurrencia de acuerdo a unos criterios de búsqueda u ordenamiento. Los parámetros son todos opcionales y su orden no es relevante, cuando se invoca sin parámetros devuelve el primer registro insertado en la entidad. Este método es muy flexible y puede ser usado de muchas formas:  
 
El método “find_first” devuelve el primer registro de una entidad o la primera ocurrencia de acuerdo a unos criterios de búsqueda u ordenamiento. Los parámetros son todos opcionales y su orden no es relevante, cuando se invoca sin parámetros devuelve el primer registro insertado en la entidad. Este método es muy flexible y puede ser usado de muchas formas:  
  
'''Ejemplo:'''
+
Ejemplo:  
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find_first(“conditions: estado=’A’ ”,“order: fecha desc”);
+
1.$this->Usuarios->find_first(“conditions: estado=’A’ ”,“order: fecha desc”);
 
</source>
 
</source>
  
Línea 73: Línea 70:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find_first(123);
+
1.$this->Usuarios->find_first(123);
 
</source>
 
</source>
  
Línea 80: Línea 77:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find_first(“conditions: estado=’A’ ”,“limit: 1”);
+
1.$this->Usuarios->find_first(“conditions: estado=’A’ ”,“limit: 1”);
 
</source>
 
</source>
  
Línea 86: Línea 83:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find_first(“columns: nombre, estado”);
+
1.$this->Usuarios->find_first(“columns: nombre, estado”);
 
</source>
 
</source>
  
Línea 92: Línea 89:
  
 
<source lang=php line>
 
<source lang=php line>
$Usuarios->find_first(“estado=’A’”);
+
1.$Usuarios->find_first(“estado=’A’”);
 
</source>
 
</source>
  
Línea 98: Línea 95:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find_first(“id=’123’”);
+
1.$this->Usuarios->find_first(“id=’123’”);
$this->Usuarios->find_first(123);
+
2.$this->Usuarios->find_first(123);
 
</source>
 
</source>
  
 
==find ==
 
==find ==
  
'''Sintaxis'''
 
 
<source lang=php line>
 
<source lang=php line>
 
find([integer $id], [“conditions: …”], [“order: …”], [“limit: …], [“columns: …”])  
 
find([integer $id], [“conditions: …”], [“order: …”], [“limit: …], [“columns: …”])  
Línea 111: Línea 107:
 
El método “find” es el principal método de búsqueda de ActiveRecord, devuelve todas los registros de una entidad o el conjunto de ocurrencias de acuerdo a unos criterios de búsqueda. Los parámetros son todos opcionales y su orden no es relevante, incluso pueden ser combinados u omitidos si es necesario. Cuando se invoca sin parámetros devuelve todos los registros en la entidad.  
 
El método “find” es el principal método de búsqueda de ActiveRecord, devuelve todas los registros de una entidad o el conjunto de ocurrencias de acuerdo a unos criterios de búsqueda. Los parámetros son todos opcionales y su orden no es relevante, incluso pueden ser combinados u omitidos si es necesario. Cuando se invoca sin parámetros devuelve todos los registros en la entidad.  
  
No hay que olvidarse de incluir un espacio después de los dos puntos (:) en cada parámetro.
+
Ejemplo:  
 
 
'''Ejemplo: '''
 
  
 
<source lang=php line>
 
<source lang=php line>
foreach($Usuarios->find(“conditions: estado=’A’”,“order: fecha desc”) as $usuario){
+
1.foreach($Usuarios->find(“conditions: estado=’A’ ”,
  print $usuario->nombre;
+
2.                  “order: fecha desc”) as $usuario){
}//fin del foreach
+
3.  print $usuario->nombre;
 +
4.}//fin del foreach
 
</source>
 
</source>
  
Línea 126: Línea 121:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find(123);
+
1.$this->Usuarios->find(123);
 
</source>
 
</source>
  
Línea 134: Línea 129:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find(“conditions: estado=’A’ ”,“limit: 5”);
+
1.$this->Usuarios->find(“conditions: estado=’A’ ”,“limit: 5”);
 
</source>
 
</source>
  
Línea 140: Línea 135:
  
 
<source lang=php line>
 
<source lang=php line>
$Usuarios->find(“columns: nombre, estado”);
+
1.$Usuarios->find(“columns: nombre, estado”);
 
</source>
 
</source>
  
Línea 146: Línea 141:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Usuarios->find (“estado=’A’”);
+
1.$this->Usuarios->find (“estado=’A’”);
 
</source>
 
</source>
  
 
Se puede utilizar la propiedad count para saber cuántos registros fueron devueltos en la búsqueda.
 
Se puede utilizar la propiedad count para saber cuántos registros fueron devueltos en la búsqueda.
 
'''Nota:''' No es necesario usar find('id: $id') para el find, se usa directament find($id)
 
  
 
==limit==
 
==limit==
Línea 158: Línea 151:
  
 
<source lang=php line>
 
<source lang=php line>
$this->Preguntas->find('limit:5',  'offset: 1');
+
1.$this->Preguntas->find('limit:5',  'offset: 1');
 
</source>
 
</source>
  

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)