From 27c6714f1929d27b59b84751bdb63afeb3a99c52 Mon Sep 17 00:00:00 2001 From: Jordan Diaz Date: Wed, 1 Apr 2026 14:39:07 +0000 Subject: [PATCH] mejora mia --- docs/hooks-and-api.md | 64 ++++++++++--------------------------------- 1 file changed, 15 insertions(+), 49 deletions(-) diff --git a/docs/hooks-and-api.md b/docs/hooks-and-api.md index 32c053d..09ea71d 100644 --- a/docs/hooks-and-api.md +++ b/docs/hooks-and-api.md @@ -117,35 +117,30 @@ API server-side para operaciones de base de datos. Disponible en todos los hooks ```php // Todos los registros -$products = CmsApi::get('productos'); +$products = CmsApi::get("productos"); -// Con condición WHERE -$active = CmsApi::get('productos', ['active' => 1]); +// Con condición WHERE en string +$active = CmsApi::get("productos", "active=1"); // Con orden y límite -$latest = CmsApi::get('noticias', [], 'fecha DESC', 5); +$latest = CmsApi::get("noticias", "", "fecha DESC", 5); // Con condición string -$activos = CmsApi::get('productos', 'activo=1'); +$activos = CmsApi::get("productos", "activo=1"); -// Condición compleja como array -$caros = CmsApi::get('productos', [ - ["column" => "precio", "operator" => ">", "value" => 100] -]); +// Condición compleja +$caros = CmsApi::get("productos", "precio > 100"); // Múltiples condiciones (AND) -$resultados = CmsApi::get('productos', [ - ["column" => "activo", "operator" => "=", "value" => 1], - ["column" => "stock", "operator" => ">", "value" => 0] -]); +$resultados = CmsApi::get("productos", "activo = 1 AND stock > 0"); // Con operadores -$expensive = CmsApi::get('productos', ['precio' => ['>=' => 100]]); -$search = CmsApi::get('productos', ['nombre' => ['LIKE' => '%keyword%']]); -$inList = CmsApi::get('productos', ['categoria_num' => ['IN' => [1, 2, 3]]]); +$expensive = CmsApi::get("productos", "precio >= 100"); +$search = CmsApi::get("productos", "nombre LIKE '%keyword%'"); +$inList = CmsApi::get("productos", "categoria_num IN (1, 2, 3)"); // Con opciones -$datos = CmsApi::get('productos', '', '', '', [ +$datos = CmsApi::get("productos", "", "", "", [ 'translates' => true, 'uploads' => true, 'relations' => true, @@ -237,36 +232,7 @@ Para búsquedas y lecturas habituales, prioriza: 3. SQL manual solo si de verdad no hay alternativa razonable ### `CocoDB::get($table, $where, $order, $limit, $options)` - -```php -// Básico -$records = CocoDB::get('productos', ['activo' => 1], 'orden ASC', 10); - -// Where con operadores avanzados -$records = CocoDB::get('productos', [ - ['column' => 'precio', 'value' => 100, 'operator' => '>='], - ['column' => 'categoria_num', 'value' => [1, 2, 3], 'operator' => 'IN'], -]); - -// Condiciones OR -$records = CocoDB::get('productos', [ - ['column' => 'nombre', 'value' => '%keyword%', 'operator' => 'LIKE'], - ['column' => 'descripcion', 'value' => '%keyword%', 'operator' => 'LIKE', 'or' => true], -]); - -// NOT -$records = CocoDB::get('productos', [ - ['column' => 'estado', 'value' => 'borrador', 'operator' => '=', 'not' => true], -]); - -// IS NULL -$records = CocoDB::get('productos', [ - ['column' => 'fecha_baja', 'value' => '', 'operator' => 'IS NULL'], -]); - -// Limit con offset -$records = CocoDB::get('productos', [], 'num DESC', ['limit' => 10, 'offset' => 20]); -``` +### Funcionalidad exactamente igual a CmsApi::get ( ver referencia CmsApi::get ) #### Opciones de `get()` @@ -436,7 +402,7 @@ En este ejemplo, el endpoint usa `calcular_precio` porque el archivo vive en: ```php false, "message" => "Producto no encontrado"]; @@ -454,7 +420,7 @@ CmsApi::insert('ventas', [[ ]], [], ['return_last_id' => true]); // Actualizar stock -$stock = CmsApi::get('stocks', "producto_num=$producto_id"); +$stock = CmsApi::get("stocks", "producto_num=" . $producto_id); if (!empty($stock)) { CmsApi::update('stocks', ["cantidad" => $stock[0]['cantidad'] - $cantidad],