ajustes mios
This commit is contained in:
@@ -115,6 +115,8 @@ API server-side para operaciones de base de datos. Disponible en todos los hooks
|
||||
|
||||
### Read — `CmsApi::get()`
|
||||
|
||||
## IMPORTANTE : Las tablas y nombres de campos puedes extraerlas de los esquemas en cms/data/schemas/<nombre_de_tabla>.ini.php
|
||||
|
||||
```php
|
||||
// Todos los registros
|
||||
$products = CmsApi::get("productos");
|
||||
@@ -139,6 +141,21 @@ $expensive = CmsApi::get("productos", "precio >= 100");
|
||||
$search = CmsApi::get("productos", "nombre LIKE '%keyword%'");
|
||||
$inList = CmsApi::get("productos", "categoria_num IN (1, 2, 3)");
|
||||
|
||||
#### Opciones de `get()`
|
||||
|
||||
| Option | Type | Default | Description |
|
||||
|--------|------|---------|-------------|
|
||||
| `uploads` | bool | `true` | Incluir datos de upload fields |
|
||||
| `relations` | bool/array | `true` | Resolver foreign keys. Array para limitar: `['category']` |
|
||||
| `relationsDepth` | int | 2 | Profundidad de relaciones anidadas |
|
||||
| `translates` | string | current lang | Código de idioma |
|
||||
| `groupBy` | string | null | GROUP BY clause |
|
||||
| `aggregates` | array | `[]` | Funciones de agregación |
|
||||
| `onlyFields` | array | null | Seleccionar solo campos específicos |
|
||||
| `debug` | bool | false | Mostrar SQL query |
|
||||
| `redis` | bool | null | Forzar cache Redis |
|
||||
| `redis_expire` | int | 60 | TTL de cache Redis (segundos) |
|
||||
|
||||
// Con opciones
|
||||
$datos = CmsApi::get("productos", "", "", "", [
|
||||
'translates' => true,
|
||||
@@ -150,6 +167,8 @@ $datos = CmsApi::get("productos", "", "", "", [
|
||||
|
||||
### Insert — `CmsApi::insert()`
|
||||
|
||||
## IMPORTANTE : Las tablas y nombres de campos puedes extraerlas de los esquemas en cms/data/schemas/<nombre_de_tabla>.ini.php
|
||||
|
||||
```php
|
||||
// Un registro
|
||||
CmsApi::insert('contacto', [
|
||||
@@ -170,8 +189,19 @@ CmsApi::insert('productos',
|
||||
);
|
||||
```
|
||||
|
||||
#### Opciones de insert
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `forceNum` | Permite setear el campo `num` manualmente |
|
||||
| `ignoreSchema` | Saltar validación de schema |
|
||||
| `ignoreFields` | Array de campos a ignorar |
|
||||
|
||||
|
||||
### Update — `CmsApi::update()`
|
||||
|
||||
## IMPORTANTE : Las tablas y nombres de campos puedes extraerlas de los esquemas en cms/data/schemas/<nombre_de_tabla>.ini.php
|
||||
|
||||
```php
|
||||
// Con condición string
|
||||
CmsApi::update('productos', ["precio" => 150], "num=1");
|
||||
@@ -186,8 +216,19 @@ CmsApi::update('productos',
|
||||
CmsApi::update('productos', ["activo" => 0], "precio < 50");
|
||||
```
|
||||
|
||||
#### Opciones de update
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `forceNum` | Permite setear el campo `num` manualmente |
|
||||
| `ignoreSchema` | Saltar validación de schema |
|
||||
| `ignoreFields` | Array de campos a ignorar |
|
||||
|
||||
|
||||
### Delete — `CmsApi::delete()`
|
||||
|
||||
## IMPORTANTE : Las tablas y nombres de campos puedes extraerlas de los esquemas en cms/data/schemas/<nombre_de_tabla>.ini.php
|
||||
|
||||
```php
|
||||
CmsApi::delete('productos', "num=5");
|
||||
|
||||
@@ -232,104 +273,18 @@ 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)`
|
||||
### Funcionalidad exactamente igual a CmsApi::get ( ver referencia CmsApi::get )
|
||||
## Funcionalidad exactamente igual a CmsApi::get ( ver referencia CmsApi::get )
|
||||
|
||||
#### Opciones de `get()`
|
||||
|
||||
| Option | Type | Default | Description |
|
||||
|--------|------|---------|-------------|
|
||||
| `uploads` | bool | `true` | Incluir datos de upload fields |
|
||||
| `relations` | bool/array | `true` | Resolver foreign keys. Array para limitar: `['category']` |
|
||||
| `relationsDepth` | int | 2 | Profundidad de relaciones anidadas |
|
||||
| `translates` | string | current lang | Código de idioma |
|
||||
| `groupBy` | string | null | GROUP BY clause |
|
||||
| `aggregates` | array | `[]` | Funciones de agregación |
|
||||
| `onlyFields` | array | null | Seleccionar solo campos específicos |
|
||||
| `debug` | bool | false | Mostrar SQL query |
|
||||
| `redis` | bool | null | Forzar cache Redis |
|
||||
| `redis_expire` | int | 60 | TTL de cache Redis (segundos) |
|
||||
|
||||
### `CocoDB::insertRecords($table, $records, $functions, $options)`
|
||||
|
||||
```php
|
||||
// Un registro
|
||||
$count = CocoDB::insertRecords('contacto', [
|
||||
'nombre' => 'John',
|
||||
'email' => 'john@example.com',
|
||||
]);
|
||||
// Usar mysql_insert_id() para obtener el nuevo num
|
||||
|
||||
// Múltiples
|
||||
$count = CocoDB::insertRecords('productos', [
|
||||
['nombre' => 'Product A', 'precio' => 10],
|
||||
['nombre' => 'Product B', 'precio' => 20],
|
||||
]);
|
||||
```
|
||||
|
||||
#### Opciones de insert/update
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `forceNum` | Permite setear el campo `num` manualmente |
|
||||
| `ignoreSchema` | Saltar validación de schema |
|
||||
| `ignoreFields` | Array de campos a ignorar |
|
||||
## Funcionalidad exactamente igual a CmsApi::insert ( ver referencia CmsApi::insert )
|
||||
|
||||
### `CocoDB::updateRecords($table, $records, $where, $functions, $options)`
|
||||
## Funcionalidad exactamente igual a CmsApi::update ( ver referencia CmsApi::update )
|
||||
|
||||
```php
|
||||
CocoDB::updateRecords('productos',
|
||||
['precio' => 29.99, 'activo' => 1],
|
||||
['num' => 42]
|
||||
);
|
||||
|
||||
// Con operador en where
|
||||
CocoDB::updateRecords('productos',
|
||||
['activo' => 0],
|
||||
[['column' => 'stock', 'value' => 0, 'operator' => '<=']]
|
||||
);
|
||||
```
|
||||
|
||||
### `CocoDB::deleteRecords($table, $where, $options)`
|
||||
|
||||
```php
|
||||
CocoDB::deleteRecords('productos', ['num' => 42]);
|
||||
|
||||
CocoDB::deleteRecords('logs', [
|
||||
['column' => 'fecha', 'value' => '2024-01-01', 'operator' => '<']
|
||||
]);
|
||||
```
|
||||
|
||||
### Parámetro `$functions`
|
||||
|
||||
Permite aplicar funciones MySQL a valores durante insert/update:
|
||||
|
||||
```php
|
||||
CocoDB::insertRecords('logs', [
|
||||
'mensaje' => 'Login exitoso',
|
||||
'fecha' => '',
|
||||
], [
|
||||
'fecha' => 'NOW()',
|
||||
]);
|
||||
```
|
||||
|
||||
### Where Clause — Formatos
|
||||
|
||||
**Simple (key-value):**
|
||||
```php
|
||||
['campo' => 'valor'] // campo = 'valor'
|
||||
```
|
||||
|
||||
**Avanzado (array de condiciones):**
|
||||
```php
|
||||
[
|
||||
'column' => 'field_name',
|
||||
'value' => 'match_value',
|
||||
'operator' => '=', // =, !=, <, >, <=, >=, LIKE, IN, IS NULL
|
||||
'or' => false, // OR en vez de AND
|
||||
'not' => false, // Negar la condición
|
||||
'raw_key' => false, // Saltar check de existencia de columna
|
||||
]
|
||||
```
|
||||
## Funcionalidad exactamente igual a CmsApi::delete ( ver referencia CmsApi::delete )
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user