HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/slenders/slenders.nl/app/Komma/Categories/Kms/CategoryService.php
<?php
namespace App\Komma\Categories\Kms;


use App\Komma\Kms\Core\Attributes\Attribute;
use App\Komma\Kms\Core\Attributes\Models\SelectOptionInterface;
use App\Komma\Kms\Core\Tree\NestedSets\Nodes\TreeModel;
use App\Komma\Kms\Core\Sections\SectionService;
use App\Komma\Kms\Core\Sections\SectionTabItem;
use App\Komma\Globalization\Languages\Models\Language;
use App\Komma\Categories\Models\Category;
use App\Komma\Routes\Models\Route;
use App\Komma\Sites\HasSitesInterface;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Collection as DatabaseCollection;
use Illuminate\Support\Str;


final class CategoryService extends SectionService
{
    protected $sortable = false;
    protected $orderByDisplayName = true;

    function __construct()
    {
        $this->forModelName = Category::class;
        parent::__construct();
    }

    public static function getModelsForSelect($skipNone = false) {

        $selectOptions = [];

        if(!$skipNone) {
            $selectOptions[] = (app(SelectOptionInterface::class))
                ->setContent(__('kms/global.none'))
                ->setHtmlContent(__('kms/global.none'))
                ->setValue(null);
        }

        $models = Category::all();
        foreach ($models as $model) {

            /** @var SelectOptionInterface $selectOption */
            $selectOption = (app(SelectOptionInterface::class))
                ->setContent($model->translation->name)
                ->setHtmlContent($model->translation->name)
                ->setValue($model->id);

            $selectOptions[] =$selectOption;
        }

        return $selectOptions;

    }

    public static function getModelsByCategoryThroughRelation(int $categoryId, string $relation)
    {
        return Category::find($categoryId)->{$relation};
    }
}