承接 hareland/laravel-immutable-attributes 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hareland/laravel-immutable-attributes

最新稳定版本:v1.0.2

Composer 安装命令:

composer require hareland/laravel-immutable-attributes

包简介

Make laravel model attributes immutable

README 文档

README

Build Total Downloads

Laravel Immutable Model Attributes

Create immutable attributes on your Laravel models. Simply use the trait.

Installation

Requirements: PHP 8.1+ and Laravel 8+

composer require hareland/laravel-immutable-attributes

Define Immutable Attributes

Define the attributes to be immutable on your model:

<?php
 
namespace App\Models;
 
use Illuminate\Database\Eloquent\Model;
use Hareland\LaravelImmutableAttributes\Traits\HasImmutableAttributes;
 
class Product extends Model
{
    use HasImmutableAttributes;
    
    /**
     * @var array
     */
    protected $immutable = [
        'label',
        'price',
    ];

In this example, label and price can be set on model creation, however, the attributes will not persist changes of their value to a database on update.

$model = new Product;
 
// Set the attribute 
$model->label = 'abc';
$model->label; // 'abc'
 
// Change it (before-saving)
$model->label = 'abc';
$model->label; // 'abc'
 
// Save it
$model->save();
 
// You can't change its value
$model->label = 'xyz';
$model->label; // 'abc'
 
// You can't update it either
$model->save([
    'label' => 'xyz',
]);
$model->label; // 'abc'

"Buy Me A Coffee"

统计信息

  • 总下载量: 1.18k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-10-17