Hay un campo de una tabla que va comprimido como BLOB.
Quiero que la compresión / descompresión sea transparente para quien use la clase, que no tenga que andar haciendo:
Código:
$objModel->campo = gzencode($objModel->campo);
$objModel->campo = gzdecode($objModel->campo);
Para ello he decidido sobrecargar métodos en la clase que hereda de Model.
Para la grabación ya lo he logrado, sobrecargando el método save, de manera:
Código:
public function save($attributes[] = null)
{
$this->campo = gzencode($objModel->campo);
return parent::save($attributes);
}
Pero para la obtención de datos de la BD y realizar la descompresión "transparente" he probado a sobrecargar boot(), __call, __callstatic, etc y nada.
¿Alguien sabría qué método es el que instancia y "rellena" las propiedades de la clase, para poder hacer a continuación el gzdecode?
Si veis algún fallo perdonadme, he escrito el código de memoria.