File: D:/HostingSpaces/SBogers84/zuiderbos.nl/workbench/komma/kms/src/Komma/Kms/Posts/Models/Post.php
<?php
/**
* Short description for the file.
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2015, Komma Mediadesign
*/
namespace Komma\Kms\Posts\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
// protected $table = 'Posts';
public $kmsClass = 'Komma\\Kms\\Posts\\Models\\Post';
protected $fillable = ['active', 'controller', 'code_name','date'];
public function translations()
{
return $this->hasMany('Komma\Kms\Posts\Models\PostTranslation');
}
public function languages()
{
return $this->belongsToMany('Komma\Kms\Languages\Language', 'post_translations')
->withPivot('name', 'description')
->withTimestamps();
}
public function schools(){
return $this->belongsToMany('Komma\Kms\Schools\School', 'posts_school', 'post_id', 'school_id');
}
public function categories()
{
return $this->belongsToMany('Komma\Kms\Categories\Models\Category', 'post_categories', 'post_id', 'category_id');
}
public function getDate(){
return Carbon::createFromFormat('Y-m-d H:i:s', $this->date);
}
/**
* Get the images from the current reference
*
* @return Collection
*/
public function images()
{
/**
*
* On the Image model is an MorphTo relation
* By using a hasMany relation:
* where the imageble_type is filled in with the KmsClass
* And the imageble_id is set as the foreign_id,
* we can collect the images of the given model directly.
*
*/
return $this->hasMany('Komma\Kms\Images\Models\Image', 'imageble_id')
->where('imageble_type', '=', $this->kmsClass)
->orderBy('sort_order');
}
}