latevaweb / laravel-custom-properties
Laravel trait 用于向 Eloquent 模型添加动态属性
1.0.3
2024-08-05 09:15 UTC
Requires
- php: ^7.3|^8.2|^8.3
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0
- phpunit/phpunit: ^7.0|^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-05 10:28:29 UTC
README
向 Eloquent 模型添加动态自定义属性的 trait
一旦 trait 安装在模型上,并且添加了迁移字段,你可以执行以下操作
$customer = new Customer; // An Eloquent model $customer ->setCustomProperty('foo', 'bar') ->setCustomProperty('foo2', 'bar2') ->save(); $customer->hasCustomProperty('foo'); // Returns 'true' $customer->getCustomProperty('foo'); // returns 'bar' $customer->forgetCustomProperty('foo'); // removes field 'foo' from model array // Don't forget to persist it! $customer->save();
安装
你可以通过 composer 安装此包
composer require latevaweb/laravel-custom-properties
向模型添加自定义属性
添加自定义属性到模型的必要步骤
- 首先,你需要添加
LaTevaWeb\CustomProperties\HasCustomProperties- trait。 - 需要将字段
$table->json('custom_properties')->nullable();添加到你的模型表中
这是一个准备好的模型的示例
use Illuminate\Database\Eloquent\Model; use LaTevaWeb\CustomProperties\HasCustomProperties; class NewsItem extends Model { use HasCustomProperties; }
以及迁移
Schema::table('your_table', function (Blueprint $table) { $table->json('custom_properties')->nullable(); });