Método clear() de los modelos

El método clear() 'limpia' las propiedades del modelo y asigna valores por defecto. Se ejecuta automáticamente en el constructor del modelo, lo que significa que cada vez que se crea una nueva instancia de un modelo utilizando new, también se ejecuta clear() para asignar los valores predeterminados.

Comportamiento predeterminado

Por defecto, este método asigna el valor null a todas las propiedades del modelo, salvo que no permita valor null en la columna, entonces asigna el valor default de la columna en la tabla. Recuerda que el XML de la tabla es el que determina las columnas, tipos, etc.

Personalización en el modelo

Podemos sobrescribir el método clear() en nuestro modelo para asignar otros valores. Por ejemplo, si tenemos una propiedad llamada creation_date, podemos asignar la fecha y hora actual en este método:

public function clear(): void
{
    parent::clear();
    $this->creation_date = Tools::dateTime();
}

Otros usos

Este método también se puede utilizar para crear varios registros utilizando un mismo objeto. Ejemplo:

// Creamos un nuevo producto
$product = new Producto();
$product->referencia = $product->descripcion = 'test';
$product->save();

// Ahora utilizamos clear() para usar el mismo objeto y crear un nuevo producto
$product->clear();
$product->referencia = $product->descripcion = 'test2';
$product->save();

En este ejemplo, hemos creado dos productos utilizando el mismo objeto. Aunque la utilidad de este enfoque puede ser limitada, es importante conocer sus posibilidades.

⚠️ load(), loadWhere() ...

Los métodos para leer un registro de la base de datos, si no encuentran el registro, llaman internamente al método clear() para volver a dejarlo limpio.

Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2026 FacturaScripts
0.53697s

Soporte