<?php namespace App\Setting\Data; use Livewire\Mechanisms\HandleComponents\Synthesizers\Synth; use Spatie\LaravelSettings\Settings; class SettingSynthesizer extends Synth { public static $key = 'setting-class'; public static function match($target) { return $target instanceof Settings; } public function dehydrate($target) { return [$target->toArray(), ['setting_class' => get_class($target)]]; } public function hydrate($value, $meta) { return app($meta['setting_class'])->fill($value); } public function get(&$target, $key) { return $target->{$key}; } public function set(&$target, $key, $value) { $target->{$key} = $value; } }