File: D:/HostingSpaces/SBogers33/broosensterck.nl/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','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'));
}
}