cloudmyn/bookmark

一个简单的Laravel包,允许您对模型进行书签标记

v1.1.0 2021-09-27 19:18 UTC

This package is auto-updated.

Last update: 2024-09-05 08:28:31 UTC


README

要求:php ^7.2.5 & laravel 7

简介

此包允许您对所需模型进行书签标记,无需从头创建它!

安装

请运行以下命令,我们假设您的机器已安装Composer

composer require cloudmyn/bookmark

用法

在下一步中,您必须发布供应商包,如迁移和配置

php artisan vendor:publish --provider="CloudMyn\Bookmark\BookmarkServiceProvider" --tag="config"

php artisan vendor:publish --provider="CloudMyn\Bookmark\BookmarkServiceProvider" --tag="migrations"

请在用户模型中添加trait CloudMyn\Bookmark\Traits\Bookmarker

namespace App\Models\User;

use CloudMyn\Bookmark\Traits\Bookmarker;
    
class User extends Illuminate\Database\Eloquent\Model 
{
    use Bookmarker;

    ...
}

同样,对于要书签标记的模型,请添加CloudMyn\Bookmark\Traits\Bookmarkable以进行标记

namespace App\Models\Post;

use CloudMyn\Bookmark\Traits\Bookmarkable;
    
class Post extends Illuminate\Database\Eloquent\Model 
{
    use Bookmarkable;

    ...
}

要在模型上执行书签标记,请添加以下代码

// Bookmark untuk di model user
$user->bookmark($post);

// Bookmark untuk di model post
$post->bookmark($user)

获取已书签标记的模型

$user->getBookmarks();

查看谁已对post模型进行了书签标记

$post->getBookmarkers();

删除已书签标记的模型

// Method untuk di model user
$user->unBookmark($post);

// Method untuk di model post
$post->unBookmark($user);

查找已书签标记的对象

// Method untuk di model user
$user->findBookmarkable($post);

// Method untuk di model post
$post->findBookmarker($user);

检查对象是否已被书签标记

$user->isBookmarked($post);