Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/michaelachrisco/readonlytraitlaravel

Laravel Read Only Model Traits
https://github.com/michaelachrisco/readonlytraitlaravel

eloquent eloquent-models laravel laravel-5-package laravel-model laravel-models laravel-read php read-only-laravel

Last synced: 6 days ago
JSON representation

Laravel Read Only Model Traits

Awesome Lists containing this project

README

        

[![Total Downloads](https://img.shields.io/packagist/dt/michaelachrisco/readonly.svg)](https://packagist.org/packages/michaelachrisco/readonly)
![build workflow](https://github.com/michaelachrisco/ReadOnlyTraitLaravel/actions/workflows/build.yml/badge.svg)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/michaelachrisco/readonly.svg)](https://packagist.org/packages/michaelachrisco/readonly)

# Laravel 5+ Read Only Models
The read only trait removes the ability to save, delete or modify Laravel models.
Ideally, this would be used in addition to DB permissions to ensure users and developers cannot write to a Legacy system.

## Install

```
composer require michaelachrisco/readonly
```

## To use:

```php
set_user_name('bob');

$result = $legacyUser->save();
//User is not saved.
//ReadOnlyException is thrown.
?>
```

## Methods that will throw ReadOnlyExceptions:

* create
* forceCreate
* save
* update
* firstOrCreate
* firstOrNew
* delete
* destroy
* restore
* forceDelete
* performDeleteOnModel
* push
* finishSave
* performUpdate
* touch
* insert
* truncate
* Add in a PR for any other methods you can find!

###