vuer / notes by vuer

Model notes.
Package Data
Maintainer Username: vuer
Maintainer Contact: (vuer)
Package Create Date: 2016-10-06
Package Last Update: 2016-10-06
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-02-25 03:11:23
Package Statistics
Total Downloads: 2,507
Monthly Downloads: 100
Daily Downloads: 5
Total Stars: 1
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

Notes (Laravel 5 Package)

Latest Stable Version Total Downloads Latest Unstable Version License


You can install this package via composer using this command:

composer require vuer/notes

Next, you must install the service provider:

// config/app.php
'providers' => [

Publish migration and configuration file:

php artisan vendor:publish

After the migration has been published you can create the notes table by running the migrations:

php artisan migrate

If you want you can change models in notes config file (config/notes.php):

   * The class name of the note model to be used.
  'note_model' => \Vuer\Notes\Models\Note::class,

   * The class name of the author model to be used.
  'author_model' => \App\User::class,


Preparing your model

To associate notes with a model, the model must implement the following trait:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Vuer\Notes\Traits\HasNotes;

class User extends Model
    use HasNotes;

Creating notes

You can create a note for the model like this:

$user = User::find(1);
$note = $user->createNote(['body' => 'Lorem ipsum...']);

To save note author you should add second parameter:

$note = $user->createNote(['body' => 'Lorem ipsum...'], \Auth::user());

If you want to save author name you need to create getNotesAuthorName method in author class. It is useful if you want to delete users and keep informations about notes authors.


namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Vuer\Notes\Traits\HasNotes;

class User extends Authenticatable
    use HasNotes;

    public function getNotesAuthorName()
        return trim(sprintf('%s %s', $this->name, $this->surname));

You can get all notes or 1 note:

$notes = $user->notes;
$note = $user->note;

You can use it to create model description:

  protected $fillable = [

  public function setDescriptionAttribute($value)
      $this->updateOrCreateNote([], ['body' => $value]);

  public function getDescriptionAttribute()
      return $this->note ? $this->note->body : '';