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== | ||
− | |||
<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. | ||
− | |||
<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: | |
<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 |
− | + | 2. where codigo not in (select codigo | |
− | + | 3. from ingreso)") as $usuario){ | |
− | + | 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: | |
<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 |
− | + | 2. where codigo not in (select codigo | |
− | + | 3. from ingreso) limit 1"); | |
− | print $Usuario->nombre; | + | 4.print $Usuario->nombre; |
</source> | </source> | ||
Línea 55: | Línea 53: | ||
==find_first == | ==find_first == | ||
− | |||
<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: | |
<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 == | ||
− | |||
<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. | ||
− | + | Ejemplo: | |
− | |||
− | |||
<source lang=php line> | <source lang=php line> | ||
− | foreach($Usuarios->find(“conditions: estado= | + | 1.foreach($Usuarios->find(“conditions: estado=’A’ ”, |
− | + | 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. | ||
− | |||
− | |||
==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> | ||
Línea 168: | Línea 161: | ||
<source lang=php line> | <source lang=php line> | ||
− | $this->Usuarios->select_one(“current_time”) | + | 1.$this->Usuarios->select_one(“current_time”) |
</source> | </source> | ||
− | En el ejemplo queremos saber la hora actual del servidor devuelta desde MySQL así que podemos usar este método para esto. | + | En el ejemplo queremos saber la hora actual del servidor devuelta desde MySQL así que podemos usar este método para esto. |
==select_one(string $select_query) (static) == | ==select_one(string $select_query) (static) == | ||
Línea 178: | Línea 171: | ||
<source lang=php line> | <source lang=php line> | ||
− | ActiveRecord::select_one(“current_time”) | + | 1.ActiveRecord::select_one(“current_time”) |
</source> | </source> | ||
− | En el ejemplo queremos saber la hora actual del servidor devuelta desde MySQL así que podemos usar este método para esto. | + | En el ejemplo queremos saber la hora actual del servidor devuelta desde MySQL así que podemos usar este método para esto. |
==exists == | ==exists == |