nelkasovic/laravel-metable

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

v1.0.1 2023-02-16 15:08 UTC

This package is not auto-updated.

Last update: 2024-09-27 21:10:58 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 中注册包的service provider。在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 trait 添加到任何您想附加元数据的Eloquent模型类中。

注意:如果需要一个更通用的方式来引用不同的Metable Model类,您可以可选地将 Plank\Metable\MetableInterface 应用到您的模型中。

<?php

namespace App;

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

class Post extends Model
{
    use Metable;

    //...
}

文档

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

许可证

此包在MIT许可证(MIT)下发布。

关于Plank

Plank 是一家位于加拿大蒙特利尔的网络开发机构。