v1.0.0
1.0.0.0Options for eloquent model
MIT
The Requires
- php >=7.0.0
The Development Requires
by Miciew Islam
Wallogit.com
2017 © Pedro Peláez
Options for eloquent model
Пакет решает проблему хранения кастомных параметров для отдельных моделей. Таким образом, можно не добавлять миграции для создания дополнительных полей таблицы. Сохранять можно данные разных типов, от числа до объектов., (*1)
Например, нужно добавить параметр, позволяющий забанить статью.
Вместо того, чтобы добавлять поле ban в таблицу articles, можно
в модели Article объявить методы, (*2)
public function ban()
{
$this->setOption('ban', true);
return $this;
}
public function unBan()
{
$this->setOption('ban', false);
return $this;
}
public function isBan()
{
$default = false;
return $this->getOptionValue('ban', $default);
}
composer require miciew/eloquent-options
Публикация пакета, (*3)
php artisan vendor:publish --provider="Miciew\Laravel\Option\Providers\OptionServiceProvider"
php artisan migrate
Использование, (*4)
use Miciew\Laravel\Option\Traits\HasOptions;
class Article
{
use HasOptions;
}
Методы:, (*5)
public function options(): morphMany; public function setOption($name, $value = null): null|Option; public function getOption($name, $default = null): null|Option; public function getOptionValue($name, $default = null): mix;
Options for eloquent model
MIT