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()`
|
### 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
|
```php
|
||||||
// Todos los registros
|
// Todos los registros
|
||||||
$products = CmsApi::get("productos");
|
$products = CmsApi::get("productos");
|
||||||
@@ -139,6 +141,21 @@ $expensive = CmsApi::get("productos", "precio >= 100");
|
|||||||
$search = CmsApi::get("productos", "nombre LIKE '%keyword%'");
|
$search = CmsApi::get("productos", "nombre LIKE '%keyword%'");
|
||||||
$inList = CmsApi::get("productos", "categoria_num IN (1, 2, 3)");
|
$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
|
// Con opciones
|
||||||
$datos = CmsApi::get("productos", "", "", "", [
|
$datos = CmsApi::get("productos", "", "", "", [
|
||||||
'translates' => true,
|
'translates' => true,
|
||||||
@@ -150,6 +167,8 @@ $datos = CmsApi::get("productos", "", "", "", [
|
|||||||
|
|
||||||
### Insert — `CmsApi::insert()`
|
### 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
|
```php
|
||||||
// Un registro
|
// Un registro
|
||||||
CmsApi::insert('contacto', [
|
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()`
|
### 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
|
```php
|
||||||
// Con condición string
|
// Con condición string
|
||||||
CmsApi::update('productos', ["precio" => 150], "num=1");
|
CmsApi::update('productos', ["precio" => 150], "num=1");
|
||||||
@@ -186,8 +216,19 @@ CmsApi::update('productos',
|
|||||||
CmsApi::update('productos', ["activo" => 0], "precio < 50");
|
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()`
|
### 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
|
```php
|
||||||
CmsApi::delete('productos', "num=5");
|
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
|
3. SQL manual solo si de verdad no hay alternativa razonable
|
||||||
|
|
||||||
### `CocoDB::get($table, $where, $order, $limit, $options)`
|
### `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)`
|
### `CocoDB::insertRecords($table, $records, $functions, $options)`
|
||||||
|
## Funcionalidad exactamente igual a CmsApi::insert ( ver referencia CmsApi::insert )
|
||||||
```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 |
|
|
||||||
|
|
||||||
### `CocoDB::updateRecords($table, $records, $where, $functions, $options)`
|
### `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)`
|
### `CocoDB::deleteRecords($table, $where, $options)`
|
||||||
|
## Funcionalidad exactamente igual a CmsApi::delete ( ver referencia CmsApi::delete )
|
||||||
```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
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user