$modelo->clear()
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.
Personalización en el modelo
Por defecto, este método asigna el valor null
a todas las propiedades del modelo, pero podemos sobrescribirlo 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()
{
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.