. */ declare(strict_types=1); namespace FireflyIII\Models; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; /** * @mixin IdeHelperAccountMeta */ class AccountMeta extends Model { use ReturnsIntegerIdTrait; protected $casts = [ 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; protected $fillable = ['account_id', 'name', 'data']; /** @var string The table to store the data in */ protected $table = 'account_meta'; public function account(): BelongsTo { return $this->belongsTo(Account::class); } public function getDataAttribute(mixed $value): string { return (string)json_decode($value, true); } public function setDataAttribute(mixed $value): void { $this->attributes['data'] = json_encode($value); } }