<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Variant extends Model
{
    protected $casts = [
        'weight' => 'float'
    ];

    public function product()
    {
        return $this->belongsTo(Product::class);
    }

    public function componentVariants()
    {
        return $this->belongsToMany(Variant::class, 'product_variant_components', 'parent_variant_id', 'component_variant_id')->withPivot('quantity_per_item');
    }

    public function parentBundleVariants()
    {
        return $this->belongsToMany(Variant::class, 'product_variant_components', 'component_variant_id', 'parent_variant_id');
    }
}
