20 lines
520 B
PHP
20 lines
520 B
PHP
<?php
|
|
namespace Modules\Contracts\Models;
|
|
|
|
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
|
|
class JsonCasting implements CastsAttributes
|
|
{
|
|
public function get(Model $model, string $key, mixed $value, array $attributes): array
|
|
{
|
|
if ($value == null) return [];
|
|
return json_decode($value, true);
|
|
}
|
|
public function set(Model $model, string $key, mixed $value, array $attributes): string
|
|
{
|
|
return json_encode($value);
|
|
}
|
|
}
|
|
?>
|