定制 ronnytorresmtz/comments 二次开发

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

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

ronnytorresmtz/comments

Composer 安装命令:

composer require ronnytorresmtz/comments

包简介

A Laravel Nova resource tool.

README 文档

README

Comments

Allow to add comments for a resource by a user. It manages the pagination in the backend

How to use

    Comments::make()
        //->showOnlyMyComments(true)
        //->showOnlyMyComments(false)
        ->showOnlyMyComments() //default=true
        //->allowToShowAllCompaniesComments()  // Could be use for the system admin
        ->per_page(3),

How to install

1) Install the component with composer, run the below command:

    composer require ronnytorres/comments

2) Add in the User table the field company_id, it could be null

    $table->bigInteger('company_id')->nullable();

3) The componenet needs a Comment Model to be created.

    <?php

    namespace App\Models;

    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\SoftDeletes;

    class Comment extends Model
    {
        use SoftDeletes;

        protected $dates = ['created_at'];
    }

4) A migration exist to create the database table to store the comment for the nova resource.

     Schema::create('comments', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('resourceName');
        $table->string('resourceId');
        $table->text('text');
        $table->text('company_id')->nullable();
        $table->integer('user_id');
        $table->softDeletes();
        $table->timestamps();

        $table->index(['resourceId','resourceName', 'user_id', 'created_at']);
    });

5) A CommentPolicy must be created

    <?php

    namespace App\Policies;

    use App\Models\User;
    use NovaComponents\Comments\Models\Comment;
    use Illuminate\Auth\Access\HandlesAuthorization;

    class CommentPolicy
    {
        use HandlesAuthorization;

        /**
        * Determine whether the user can view any models.
        *
        * @param  \App\Models\User  $user
        * @return mixed
        */
        public function viewAny(User $user)
        {
            return true;
        }

        /**
        * Determine whether the user can view the model.
        *
        * @param  \App\Models\User  $user
        * @param  \App\Models\Comment  $comment
        * @return mixed
        */
        public function view(User $user, Comment $comment)
        {
            return true;
        }

        /**
        * Determine whether the user can create models.
        *
        * @param  \App\Models\User  $user
        * @return mixed
        */
        public function create(User $user)
        {
            return true;
        }

        /**
        * Determine whether the user can update the model.
        *
        * @param  \App\Models\User  $user
        * @param  \App\Models\Comment  $comment
        * @return mixed
        */
        public function update(User $user, Comment $comment)
        {
            return true;
        }

        /**
        * Determine whether the user can delete the model.
        *
        * @param  \App\Models\User  $user
        * @param  \App\Models\Comment  $comment
        * @return mixed
        */
        public function delete(User $user, Comment $comment)
        {
            return true;
        }

        /**
        * Determine whether the user can restore the model.
        *
        * @param  \App\Models\User  $user
        * @param  \App\Models\Comment  $comment
        * @return mixed
        */
        public function restore(User $user, Comment $comment)
        {
            return true;
        }

        /**
        * Determine whether the user can permanently delete the model.
        *
        * @param  \App\Models\User  $user
        * @param  \App\Models\Comment  $comment
        * @return mixed
        */
        public function forceDelete(User $user, Comment $comment)
        {
            return true;
        }
    }

Additional Information

  • The file api.php has the backend code instead of a the Controller.

Resoure Example

Image

统计信息

  • 总下载量: 35
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 13
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: Vue

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-07-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固