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
统计信息
- 总下载量: 35
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-18