<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Area extends Model { // use HasFactory; public static $allSegments = [ 'ads', 'attachment', 'attachments', 'attachments_page', 'card', 'categories', // 'categories_page', 'category', 'comments', 'contact', 'clip', 'clips', 'clips_page', 'comments', 'compare', 'customer', 'floats', 'footer', 'galleries', 'galleries_page', 'gallery', 'group', 'groups', // 'groups_page', 'header', 'index', 'invoice', 'login', 'menu', 'other', 'parallax', 'post', 'posts', 'posts_page', 'preloader', 'product', 'products', 'product_grid', 'products_page', 'register', 'questions', 'search', 'slider', 'top', ]; protected $casts = [ 'segments', ]; public function getSegmentAttribute() { return json_decode($this->valid_segments, true); } public function getRouteKeyName() { return 'name'; } public function parts() { return $this->hasMany(Part::class); } public function defPart() { $p = $this->parts()->first(); return 'segments.' . $p->segment . '.' . $p->part . '.' . $p->part; } }