Download the PHP package overtrue/laravel-subscribe without Composer
On this page you can find all versions of the php package overtrue/laravel-subscribe. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download overtrue/laravel-subscribe
More information about overtrue/laravel-subscribe
Files in overtrue/laravel-subscribe
Package laravel-subscribe
Short Description User Subscribe/Unsubscribe features for Laravel Application.
License MIT
Informations about the package laravel-subscribe
Laravel Subscribe
:email: User subscribe/unsubscribe feature for Laravel Application.
Installing
Configuration
This step is optional
Migrations
You need to publish the migration files for use the package:
Usage
Traits
Overtrue\LaravelSubscribe\Traits\Subscriber
Overtrue\LaravelSubscribe\Traits\Subscribable
API
Get object subscribers:
Aggregations
List with *_count
attribute:
Filter subscribables
Order by subscribers count
You can query subscribable model order by subscribers count with following methods:
orderBySubscribersCountDesc()
orderBySubscribersCountAsc()
orderBySubscribersCount(string $direction = 'desc')
example:
N+1 issue
To avoid the N+1 issue, you can use eager loading to reduce this operation to just 2 queries. When querying, you may specify which relationships should be eager loaded using the with
method:
Attach the subscription status to subscribable collection
You can use Subscriber::attachSubscriptionStatus(Collection $subscribeables)
to attach the user subscription status, it will set has_subscribed
attribute to each model of $subscribables
:
For model
For Collection | Paginator | LengthAwarePaginator | array
:
For pagination
Events
Event | Description |
---|---|
Overtrue\LaravelSubscribe\Events\Subscribed |
Triggered when the relationship is created. |
Overtrue\LaravelSubscribe\Events\Unsubscribed |
Triggered when the relationship is deleted. |
Related packages
- Follow: overtrue/laravel-follow
- Like: overtrue/laravel-like
- Favorite: overtrue/laravel-favorite
- Subscribe: overtrue/laravel-subscribe
- Vote: overtrue/laravel-vote
- Bookmark: overtrue/laravel-bookmark (working in progress)
:heart: Sponsor me
如果你喜欢我的项目并想支持它,点击这里 :heart:
Project supported by JetBrains
Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
PHP 扩展包开发
想知道如何从零开始构建 PHP 扩展包?
请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》
License
MIT