With some column types, our attribute is a resource

This commit is contained in:
Deon George 2023-08-10 11:08:15 +10:00
parent fca133ef57
commit 60d17ea297
1 changed files with 11 additions and 1 deletions

View File

@ -10,14 +10,24 @@ class CompressedString implements CastsAttributes
/**
* Cast the given value.
*
* For postgresl bytea columns the value is a resource stream
*
* @param Model $model
* @param string $key
* @param mixed $value
* @param array $attributes
* @return string
*/
public function get($model,string $key,$value,array $attributes): string
public function get($model,string $key,mixed $value,array $attributes): string
{
// For stream resources, we to fseek in case we've already read it.
if (is_resource($value))
fseek($value,0);
$value = is_resource($value)
? stream_get_contents($value)
: $value;
return $value ? zstd_uncompress(base64_decode($value)) : '';
}