development:php:codeigniter:v4:model

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
development:php:codeigniter:v4:model [08/06/2026 00:45] – [crear] matedevelopment:php:codeigniter:v4:model [08/06/2026 01:31] (actual) – [placeholders] mate
Línia 1: Línia 1:
 = CodeIgniter v4 Model = CodeIgniter v4 Model
 +{{tag>codeigniter}}
   * conexión automática a BDD   * conexión automática a BDD
   * métodos CRUD básicos   * métodos CRUD básicos
Línia 59: Línia 60:
     * ''$beforeInsert   = [];''     * ''$beforeInsert   = [];''
     * ''$afterInsert    = [];''     * ''$afterInsert    = [];''
 +    * ''$beforeInsertBatch   = [];''
 +    * ''$afterInsertBatch    = [];''
     * ''$beforeUpdate   = [];''     * ''$beforeUpdate   = [];''
     * ''$afterUpdate    = [];''     * ''$afterUpdate    = [];''
 +    * ''$beforeUpdateBatch   = [];''
 +    * ''$afterUpdateBatch    = [];''
     * ''$beforeFind     = [];''     * ''$beforeFind     = [];''
     * ''$afterFind      = [];''     * ''$afterFind      = [];''
Línia 89: Línia 94:
     * ''first()'': solo retorna el primer registro     * ''first()'': solo retorna el primer registro
     * ''withDeleted()''     * ''withDeleted()''
 +    * ''asArray()'' ''asObject()'' <- Entity
   * ''insert($data[,$bool])''   * ''insert($data[,$bool])''
     * $data: array de valores de campos     * $data: array de valores de campos
Línia 106: Línia 112:
     * con ''$useSoftDeletes=true'', se actualiza la columna indicada en ''$deletedField''     * con ''$useSoftDeletes=true'', se actualiza la columna indicada en ''$deletedField''
     * ''purgeDeleted()''     * ''purgeDeleted()''
 +  * ''chunk()'': para procesar un gran volumen de datos de manera fraccionada
  
 == in-Model Validation == in-Model Validation
Línia 122: Línia 129:
     ];     ];
 </code> </code>
 +  * ''setValidationRule($campo,$reglas)''  y su complemento ''setValidationMessage($campo,$array)''
 +  * ''setValidationRules([$campo=>$reglas,$campo=>$reglas])'' y su complemente ''setValidationMessages([$campo=>$array])''
 +  * si no valida, el Modelo retorna **false**. Se pueden recuperar los errores con el método ''errors()''
 +  * ''getValidationRules($options)''
 +    * $options: array con 2 claves, **except** o **only** para recoger las reglas de validación indicadas
   * también se puede indicar un grupo de reglas de validaciones [[https://codeigniter.com/user_guide/libraries/validation.html#saving-validation-rules-to-config-file]]   * también se puede indicar un grupo de reglas de validaciones [[https://codeigniter.com/user_guide/libraries/validation.html#saving-validation-rules-to-config-file]]
 +=== placeholders
 +  * [[https://codeigniter.com/user_guide/libraries/validation.html#rules-for-general-use]]
 +  * [[https://codeigniter.com/user_guide/libraries/validation.html#validation-available-rules]]
 +  * ''is_unique''
 +    * ''is_unique[tabla.campo,id,{id}'' único campo para el id={id} (si es el campo $primaryKey)
 +  * ''alpha*'', ''string''
 +  * ''field_exists''
 +  * ''in_list'', ''not_in_list''
 +  * ''max_length'', ''min_length'', ''exact_length''
 +  * ''permit_empty''
 +  * ''required'',''required_with'',''required_without''
 +  * ''valid_email'',''valid_emails''
 +  * ''valid_date''
 +  * ''valid_json''
 +== protecting Fields
 +  * ''$allowedFields''
 +    * ''protect(true|false)''
  
 +== Callbacks
 +  * [[https://codeigniter.com/user_guide/models/model.html#defining-callbacks]]
 +  * ''allowCallbacks(false)''
 == crear == crear
 <code php> <code php>
  • development/php/codeigniter/v4/model.1780904738.txt.gz
  • Darrera modificació: 08/06/2026 00:45
  • per mate