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/SBogers100/femmassebv.com/workbench/komma/kms/src/Komma/Kms/Pages/Models/Page.php
<?php
/**
 * Short description for the file.
 *
 * @author      Komma <info@komma.pro>
 * @copyright   (c) 2012-2015, Komma Mediadesign
 */

namespace Komma\Kms\Pages\Models;

use Komma\Kms\Core\NestedSets\Nodes\EloquentNode as NestedSetNode;

class Page extends NestedSetNode
{
    protected $table = 'pages';

    protected $fillable = ['active', 'lft', 'rgt', 'tree', 'code_name', 'view_name', 'published_at'];

    public function translations()
    {
        return $this->hasMany('Komma\Kms\Pages\Models\PageTranslation');
    }

    public function languages()
    {
        return $this->belongsToMany('Komma\Kms\Languages\Language', 'page_translations')
            ->withPivot('name')
            ->withTimestamps();
    }

    public function getParentId()
    {
        if($this->getDepth() == 0){
            // Node is root node
            return 0;
        }
        return $this->getParent()->id;
    }

    public function blocks(){
        return $this->belongsToMany('Komma\Kms\Blocks\Models\Block', 'page_blocks');
    }

    public function kmsTranslation()
    {
        /**
         * On the translation model is an BelongsTo relation.
         * We want to collect the current translation.
         * Therefore we create a hasOne relation
         * Where we will select the page_translation,
         * Join on the languages table
         * And set the current Locale as the languages.iso_2
         *
         */
        return $this->hasOne('Komma\Kms\Pages\Models\PageTranslation')
            //We only need the translation
            ->select('page_translations.*')
            ->where('page_translations.language_id', '=', \Config::get('kms::main.defaultLanguageId'));
    }

}