paulhenri-l/laravel-has-meta

1.0.0 2021-10-12 21:24 UTC

This package is auto-updated.

Last update: 2024-09-13 03:56:24 UTC


README

PHP Tests PHP Code Style License: MIT

此包允许您使用点表示法管理JSON元列。

安装

composer require paulhenri-l/laravel-has-meta

使用

在您的迁移中添加一个类型为 jsonmeta 列。

Schema::create('users', function ($table) {
    $table->bigIncrements('id');
    $table->json('meta');
    $table->timestamps();
});

现在在您的模型中使用 HasMeta 特性。

<?php

namespace PaulhenriL\LaravelHasMeta\Tests\Fakes;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    use \PaulhenriL\LaravelHasMeta\HasMeta;
}

您现在可以使用元API。get 和 set 方法使用点表示法以获取和设置嵌套数组中的值。

加密方法使用 Crypt 门面,因此将使用您的应用程序的加密设置。

$user = new User();

// Set
$user->setMeta('preferences.time_zone', 'Europe/Paris');
$user->setEncryptedMeta('health.has_diabet', true);

// Get
$user->getMeta('preferences.time_zone');
$user->getEncryptedMeta('health.has_diabet');