qlick/laravel-metable

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

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

This package is auto-updated.

Last update: 2024-09-16 18:19:59 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模型类中。

注意:如果需要一种更通用的方式来引用不同的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是一家总部位于加拿大蒙特利尔的网络开发公司。