Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
evsmash/articles / libs / ArticlesType.php
Size: Mime:
<?php

namespace Evsmash\Articles;

use Evsmash\Core\Database\Eloquent;

use Evsmash\Core\Database\SoftDeleting;
use Evsmash\Core\Helpers\Str;
use Evsmash\Core\Input\Route;
use Evsmash\Core\Simpy\Params;

use Evsmash\Articles\Schemas\ArticlesTypes as Schema;

class ArticlesType extends Eloquent {

	use SoftDeleting;

	// validate
	static public function validate() {

		return Schema::validate();

	}

	// has many articles
	public function articles() { 
		
		return $this->hasMany('Evsmash\Articles\Article', 'type_id');
	
	}

	// params
	public function scopeParams($query, $params = false) {

		$scope = new Params();
		$scope->scope($query, $params);
		$scope->search(['name']);
		$scope->order(['name' => 'ASC']);
		return $scope->query;

	}

	// link
	public function getLinkAttribute() {

		return Route::map('evsmash/articles/articles/type').'/'.$this->id.'/'.Str::slug($this->name);

	}

}