emild/laravel-metable

一个用于将任意数据附加到Eloquent模型的包

100.3 2021-12-07 13:09 UTC

README

Coveralls StyleCI Packagist

Laravel-Metable是一个用于轻松将任意数据附加到Eloquent模型的包。

特性

  • 一对一的多态关系允许在不调整数据库模式的情况下将数据附加到Eloquent模型。
  • 类型转换系统允许存储和检索多种不同的标量和对象类型的数据。请参阅文档以获取支持的类型列表。

示例用法

将一些元数据附加到一个Eloquent模型

$post = Post::create($this->request->input());
$post->setMeta('color', 'blue');

通过其元数据查询模型

$post = Post::whereMeta('color', 'blue');

从模型检索元数据

$value = $post->getMeta('color');

安装

  1. 使用composer将包添加到您的Laravel应用程序
composer require plank/laravel-metable
  1. config/app.php中注册包的服务提供者。在Laravel 5.5及以上版本中,如果启用了包自动发现,则可以跳过此步骤。
'providers' => [
    ...
    Plank\Metable\MetableServiceProvider::class,
    ...
];
  1. 使用artisan发布包的配置文件(config/metable.php)。
php artisan vendor:publish --provider="Plank\Metable\MetableServiceProvider"
  1. 运行迁移以将所需的表添加到您的数据库中。
php artisan migrate
  1. Plank\Metable\Metable特性添加到任何您想要附加元数据的Eloquent模型类中。
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Plank\Metable\Metable;

class Post extends Model
{
    use Metable;

    //...
}

文档

完整的文档可在ReadTheDocs上找到。

许可证

本软件包根据MIT许可证(MIT)发布。

关于Plank

Plank是一家总部位于加拿大蒙特利尔的网络开发公司。