<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\Translatable\HasTranslations;

class Prop extends Model
{

    use HasFactory, HasTranslations, SoftDeletes;

    public $translatable = ['label', 'unit'];

    protected $casts = [
        'dataz',
        'optionz',
        'datas'
    ];

    public static $prop_types = ['text', 'number', 'checkbox', 'color', 'select', 'multi', 'singlemulti', 'date', 'time'];

    public function categories()
    {
        return $this->belongsToMany(Category::class);
    }

    public function getDatazAttribute()
    {
        $result = [];
        foreach (json_decode($this->options) as $item) {
            $result[$item->title] = $item->value;
        }

        return $result;
    }

    public function getDatasAttribute()
    {
        $result = [];
        foreach (json_decode($this->options) as $item) {
            $result[$item->value] = $item->title;
        }

        return $result;
    }

    public function getOptionzAttribute()
    {
        return json_decode($this->options);
    }
}