<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

use Illuminate\Support\Arr;

class PageSlug extends Model
{
    use HasFactory;

    protected $casts = [
        'root' => 'boolean',
    ];

    public function pageable()
    {
        return $this->morphTo();
    }

    public function savePageSlug($input, $pageable)
    {
        $page_slug = new PageSlug();
        $page_slug->slug = Arr::get($input, 'slug');
        $page_slug->pageable_id = $pageable->id;
        $page_slug->pageable_type = get_class($pageable);
        $page_slug->root = Arr::get($input, 'root') == true ? true : false;
        $page_slug->save();

        return $page_slug;
    }
}
