定制 vuer/notes 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

vuer/notes

最新稳定版本:1.1.0

Composer 安装命令:

composer require vuer/notes

包简介

Model notes.

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

Installation

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' => [
    ...
    Vuer\Notes\NotesServiceProvider::class,
];

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,

Usage

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.

<?php

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 = [
    'description',
  ];

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-06