Repository URL to install this package:
|
Version:
3.2.3 ▾
|
<?php
namespace Evsmash\Articles\Schemas;
use Evsmash\Core\Schemas\Base;
use Evsmash\Settings\TranslationConfig as Translation;
class Articles extends Base {
protected $table = 'articles';
// validate
static public function validate() {
return [
'name' => 'req|max:200',
'slug' => 'req|max:200',
'content' => 'max:100000',
'sneak' => 'max:1000',
'photo' => 'max:200',
'promoted' => 'int',
'published' => 'int',
'type_id' => 'int',
];
}
// translation
static public function translation() {
$config = new Translation;
$config->set('name');
$config->set('content')->form('tinymce');
$config->set('sneak')->form('textarea');
return $config;
}
// create
public function create() {
$this->schemaCreate(function($m) {
$m->increments('id');
$m->string('name', 100);
$m->string('slug', 100);
$m->text('content');
$m->string('sneak', 1000);
$m->string('photo', 200);
$m->tinyInteger('promoted');
$m->tinyInteger('published');
$m->nullabletimestamps();
$m->softDeletes();
$m->integer('type_id');
});
}
// rebuild_1
public function rebuild_1() {
$this->schemaAdd('views', function($m) {
$m->integer('views')->after('type_id');
});
}
// rebuild 2
public function rebuild_2() {
$this->schemaModify('name', 'VARCHAR(200)');
$this->schemaModify('slug', 'VARCHAR(200)');
}
}