paulhenri-l / laravel-has-meta
laravel-has-meta
1.0.0
2021-10-12 21:24 UTC
Requires
- php: ^7.3|^8.0
- illuminate/support: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.1
- orchestra/testbench: ^6.21
- paulhenri-l/php-cs-config: ^1.0
- phpunit/phpunit: ^9.0
- symfony/var-dumper: ^5.3
README
此包允许您使用点表示法管理JSON元列。
安装
composer require paulhenri-l/laravel-has-meta
使用
在您的迁移中添加一个类型为 json
的 meta
列。
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');