miciew/eloquent-options

eloquent模型选项

1.0.6 2018-01-14 16:53 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:43:01 UTC


README

描述

该包解决了为特定模型存储自定义参数的问题。因此,无需添加迁移来创建额外的表字段。可以保存不同类型的数据,从数字到对象。

例如,需要添加一个参数来允许禁止文章。而不是在articles表中添加ban字段,可以在Article模型中声明方法

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

发布包

php artisan vendor:publish --provider="Miciew\Laravel\Option\Providers\OptionServiceProvider"
php artisan migrate

使用

use Miciew\Laravel\Option\Traits\HasOptions;


class Article
{
    use HasOptions;
}

方法:

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;