administrador.modelado.joins.ajusta_name_model.21.10.0 - gamboamartin/administrador GitHub Wiki
Esta función ajusta el nombre de la tabla para ser utilizado como nombre de modelo en el contexto del framework.
private function ajusta_name_model(string $tabla): stdClass|array
$tabla (string): El nombre de la tabla que se va a ajustar.
- array|stdClass: La función devuelve un objeto stdClass que contiene el nombre de la tabla ajustado y el nombre del modelo correspondiente. En caso de error, devuelve un array que contiene detalles del error.
- Eliminación de espacios en blanco: Se eliminan los espacios en blanco del nombre de la tabla utilizando la función trim.
- Validación de tabla vacía: Se verifica si el nombre de la tabla está vacío. Si es así, se devuelve un mensaje de error indicando que la tabla no puede estar vacía.
- Ajuste del nombre de la tabla: Se elimina el prefijo 'models' del nombre de la tabla y se forma el nombre del modelo utilizando el nombre de la tabla ajustado.
- Creación del objeto $data: Se crea un objeto stdClass llamado $data para almacenar los datos ajustados de la tabla y el nombre del modelo.
- Asignación de valores al objeto $data: Se asignan los valores correspondientes al objeto $data. Esto incluye el nombre de la tabla ajustado y el nombre del modelo.
- Devolución del objeto $data: Se devuelve el objeto $data que contiene los datos ajustados de la tabla y el nombre del modelo.
// Llamada a la función ajusta_name_model
$tabla = 'models\\usuarios';
$resultado = ajusta_name_model($tabla);
if (is_object($resultado)) {
echo "Datos ajustados de la tabla:";
echo "<pre>";
print_r($resultado);
echo "</pre>";
} else {
echo "Error: " . $resultado['mensaje'];
}
/*En este ejemplo, se llama a la función ajusta_name_model con el nombre de la tabla. Dependiendo del resultado, se imprime el objeto $data que contiene los datos ajustados de la tabla o el mensaje de error correspondiente si se produce algún problema.
*/
private function ajusta_name_model(string $tabla): stdClass|array
{
$tabla = trim($tabla);
if($tabla === ''){
return $this->error->error(mensaje: 'Error tabla no puede venir vacia', data: $tabla, es_final: true);
}
$tabla = str_replace('models\\','',$tabla);
$class = 'models\\'.$tabla;
$data = new stdClass();
$data->tabla = $tabla;
$data->name_model = $class;
return $data;
}