ReadOnlyTraitLaravel/README.md
aptdavid 4854827098 Add Insert emptyTable and Truncate to blocks (#16)
* Update ReadOnlyTrait.php
* Added truncate, insert
* Added Truncate and insert
* Update README.md
2017-03-29 10:15:48 -07:00

68 lines
1.1 KiB
Markdown

# 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
<?php
use Illuminate\Database\Eloquent\Model;
use MichaelAChrisco\ReadOnly\ReadOnlyTrait;
class User extends Model {
use ReadOnlyTrait;
}
$legacyUser = new User;
$legacyUser->set_user_name('bob');
$result = $legacyUser->save();
//User is not saved and 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
## TODO:
* saveOrFail
* performInsert(??)
* insertAndSetId(??)
* Add in a PR for any other methods you can find!
### registerModelEvents( look into best way to implement)
* saving
* saved
* updating
* updated
* creating
* created
* deleting
* deleted
###