digitalcloud/laravel-model-notes
最新稳定版本:v1.1
Composer 安装命令:
composer require digitalcloud/laravel-model-notes
包简介
A package to enable assigning notes to Eloquent Models
README 文档
README
This package allows you to add notes to your model.
Description
Suppose you are working on model, say Invoice model, and this invoice need to pass some management process. Each management state need the manager to add some notes on this invoice, and you need to track all notes for this invoice. This package allow you to do this job just by adding some trait to your model.
Add note to Eloquent models
This package provides a HasNotes trait that, once installed on a model, allows you to do things like this:
// add a note $model->setNote('New Note Here'); // get all notes $model->notes();
Installation
You can install the package via composer:
composer require digitalcloud/laravel-model-notes
You must publish the migration with:
php artisan vendor:publish --provider="DigitalCloud\ModelNotes\ModelNotesServiceProvider" --tag="migrations"
Migrate the notes table:
php artisan migrate
Optionally you can publish the config-file with:
php artisan vendor:publish --provider="DigitalCloud\ModelNotes\ModelNotesServiceProvider" --tag="config"
This is the contents of the file which will be published at config/models-notes.php
return [ /* * The class name of the note model that holds all notes. * * The model must be or extend `DigitalCloud\ModelNotes\Note::class`. */ 'note_model' => DigitalCloud\ModelNotes\Note::class, /* * The name of the column which holds the ID of the model related to the notes. * * You can change this value if you have set a different name in the migration for the notes table. */ 'model_primary_key_attribute' => 'model_id', ];
Usage
Add the HasNotes trait to a model you like to use notes on.
use DigitalCloud\ModelNotes\HasNotes; class YourEloquentModel extends Model { use HasNotes; }
add a new note
You can add a new note like this:
$model->setNote('new note');
Retrieving notes
you can get all associated notes of a model like this:
$allNotes = $model->notes;
Custom model and migration
You can change the model used by specifying a class name in the note_model key of the model-notes config file.
You can change the column name used in the note table (model_id by default) when using a custom migration where you changed
that. In that case, simply change the model_primary_key_attribute key of the model-notes config file.
统计信息
- 总下载量: 34.21k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-01-20