tobischulz / laravel-favoritable
为每个模型添加一个简单的方式使其可收藏
1.4.1
2024-02-12 13:04 UTC
Requires
- php: ^8.2
Requires (Dev)
- orchestra/testbench: 8.2
This package is auto-updated.
Last update: 2024-09-12 14:33:08 UTC
README
为每个模型添加一个简单的方式使其可收藏。
安装
您可以通过composer安装此包
composer require tobischulz/laravel-favoritable
发布所有必需的资产
php artisan vendor:publish --provider=TobiSchulz\Favoritable\FavoritableServiceProvider
迁移您的数据库
php artisan migrate
准备
将特性添加到您希望可收藏的Eloquent模型中。
<?php namespace App; use Illuminate\Database\Eloquent\Model; use TobiSchulz\Favoritable\Traits\Favoriteable; class Post extends Model { use Favoriteable; // ... }
将特性添加到将有收藏的用户模型中。
<?php namespace App; use Illuminate\Foundation\Auth\User as Authenticatable; use TobiSchulz\Favoritable\Traits\HasFavorites; class User extends Authenticatable { use HasFavorites; // ... }
使用方法
<?php /** * API for Favoritable */ $post = Post::find(1); $post->addFavorite(); // adds this post to favorites to current user $post->removeFavorite(); // remove this post from favorites $post->toggleFavorite(); // toggle this post as favorite $post->isFavorited(); // returns boolean for this post favorite state $post = Post::find(1); $user = User::find(2); $post->addFavorite($user); // adds favorite for this post and a specific user. /** * API for HasFavorites */ $user = User::find(1); $user->favorites(Post::class); // returns collection of Post::class favorites
测试
进行中
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献指南。
安全
如果您发现任何与安全相关的问题,请通过tobias@byte.software 发送电子邮件,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。