¿Cuál es la diferencia entre $ query-> row () y $ query-> resulty en codeigniter?

cuando $ query = $ this-> db-> query (“select * from users where u_id = 1”);

$ query-> row () devolverá una sola (primera) fila del resultado como Objeto de clase . Se recomienda usar cuando desee obtener un registro único a través de una consulta mediante el uso de una identificación única o cualquier otra fila única especificada o el límite 1.

when $ query = $ this-> db-> query (“select * from users where city = ‘hyderabad'”);

$ query-> result () devolverá todos los registros como matriz. y todos los registros en la matriz son objetos de clase.

si usa $ query-> row () en este escenario, devolverá el primer registro solo en el resultado como Class Object. así que no se recomienda aquí.

También puede usar $ query-> row_array () y $ query-> result_array () para obtener el resultado como matriz en lugar de Class Object.

Nota:

  1. fila y resultado, ambos son métodos, no propiedades, por lo que deberían ser como esta fila () y resultado ()
  2. No funcionarán si $ query no es un objeto CI DB
  3. resulty no se defiende como método o propiedad. si lo desea junto con CI, debe escribir un gancho o agregar un método a la clase DB en los archivos del sistema de CI. pero no se recomienda editar archivos del sistema.

Si usa $ query-> row () Le da un valor de fila única en la formación de objetos que puede usar más. es decir

$ this-> db-> get (“select * from clients”) -> row ();

obtienes esta salida, datos únicos de la primera fila

Objeto stdClass (
[id] => 1
[Nombre] => juan
[apellido] => smith
)

Si usa $ query-> result () Le da un valor de resultado múltiple en la formación de objetos que puede usar más. es decir

$ this-> db-> get (“select * from clients”) -> result ();

obtienes esta salida, Todos los resultados del nombre de la tabla seleccionada, es decir

Formación(
[0] => Objeto stdClass (
[id] => 1
[Nombre] => juan
[apellido] => smith
)
[0] => Objeto stdClass (
[id] => 2
[Nombre] => marca
[apellido] => stive
)
[0] => objeto stdClass (
[id] => 3
[Nombre] => adam
[apellido] => louis
)
[0] => Objeto stdClass (
[id] => 4
[Nombre] => cerebro
[apellido] => morrices
)
)

Para más ejemplos puedes consultar aquí

Generando resultados de consultas

$ consulta-> filas ()

Devuelve el recuento de filas seleccionado

$ consulta-> resultado ()

Devuelve el resultado de las filas seleccionadas en el objeto

Básicamente, uno devuelve los datos seleccionados en el objeto y otro devuelve el recuento de datos seleccionados l.

$ query-> result le devuelve una matriz de todos los registros de la base de datos que coincide con la consulta aprobada. La matriz se indexaría numéricamente con múltiples filas.

$ query-> row le devuelve solo una fila como una matriz asociativa.

Por ejemplo: si su consulta es: seleccione * de usuarios donde location = “mumbai”

$ query-> row le devolvería solo 1 usuario

$ query-> result le devolvería múltiples usuarios.

$ query-> row () le devuelve un único objeto de valores recuperados, mientras que $ query-> result () devuelve una matriz de objetos de valores recuperados.

En términos simples, podemos decir que row () devuelve una sola fila, mientras que result () devuelve una o varias filas.