administrador.base.orm.modelo_base.columnas_data - gamboamartin/administrador GitHub Wiki
columnas_data
La función columnas_data
es una función privada que organiza y encapsula diferentes partes de una consulta SQL (columnas principales, subconsultas y columnas adicionales) en un objeto stdClass
. Esta función se utiliza para estructurar y retornar de manera consistente los datos relacionados con las columnas en una consulta SQL.
Signatura
private function columnas_data(string $columnas_extra_sql, string $columnas_sql, string $sub_querys_sql): stdClass
Parámetros
-
string $columnas_extra_sql
:
Una cadena que contiene las columnas adicionales generadas, normalmente provenientes de subconsultas o cálculos adicionales en la consulta SQL. -
string $columnas_sql
:
Una cadena que contiene las columnas principales de la consulta SQL. -
string $sub_querys_sql
:
Una cadena que contiene las subconsultas SQL generadas, que se integrarán en la consulta principal.
Retorno
stdClass
:
Retorna un objetostdClass
que contiene las siguientes propiedades:columnas_sql
: La cadena que representa las columnas principales de la consulta SQL.sub_querys_sql
: La cadena que representa las subconsultas SQL generadas.columnas_extra_sql
: La cadena que representa las columnas adicionales generadas.
Explicación Detallada
-
Limpieza de cadenas:
- La función limpia las cadenas de entrada (
$sub_querys_sql
,$columnas_extra_sql
,$columnas_sql
) utilizandotrim()
para eliminar cualquier espacio en blanco al inicio y al final.
- La función limpia las cadenas de entrada (
-
Creación del objeto
stdClass
:- La función crea un objeto
stdClass
llamado$columns_data
para encapsular los datos relacionados con las columnas de la consulta SQL. - Se asignan las propiedades
columnas_sql
,sub_querys_sql
, ycolumnas_extra_sql
a sus respectivos valores dentro del objeto.
- La función crea un objeto
-
Retorno del objeto:
- La función retorna el objeto
stdClass
que contiene las columnas principales, las subconsultas y las columnas adicionales en su forma estructurada.
- La función retorna el objeto
Ejemplos
$columnas_extra_sql = '(SELECT COUNT(*) FROM pedidos WHERE usuario_id = usuarios.id) AS total_pedidos';
$columnas_sql = 'id, nombre, email';
$sub_querys_sql = '(SELECT MAX(fecha) FROM compras WHERE usuario_id = usuarios.id) AS ultima_compra';
$resultado = $this->columnas_data($columnas_extra_sql, $columnas_sql, $sub_querys_sql);
// Resultado esperado:
// Un objeto stdClass con las propiedades `columnas_sql`, `sub_querys_sql`, y `columnas_extra_sql`.
Código de la Función
private function columnas_data(string $columnas_extra_sql, string $columnas_sql, string $sub_querys_sql): stdClass
{
$sub_querys_sql = trim($sub_querys_sql);
$columnas_extra_sql = trim($columnas_extra_sql);
$columnas_sql = trim($columnas_sql);
$columns_data = new stdClass();
$columns_data->columnas_sql = $columnas_sql;
$columns_data->sub_querys_sql = $sub_querys_sql;
$columns_data->columnas_extra_sql = $columnas_extra_sql;
return $columns_data;
}