GitHub - merodiro/Friendships: a package for simple Friendships system
source link: https://github.com/merodiro/Friendships
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Laravel 5 Friendships
This package gives users the ability to manage their friendships.
Models can:
- Send Friend Requests
- Accept Friend Requests
- Deny Friend Requests
- Delete Friend
Installation
First, install the package through Composer.
composer require merodiro/friendships
Then include the service provider inside config/app.php
.
'providers' => [
...
Merodiro\Friendships\FriendshipsServiceProvider::class,
...
];
Finally, migrate the database
php artisan migrate
Setup a Model
use Merodiro\Friendships\Friendable;
class User extends Model
{
use Friendable;
...
}
How to use
Check the Test file to see the package in action
Send a Friend Request
$user->addFriend($recipient);
Accept a Friend Request
$user->acceptFriend($sender);
Deny a Friend Request
$user->deleteFriend($sender);
Remove Friend
$user->deleteFriend($friend);
Mutual Friends
$user->mutualFriends($anotherUser);
check the current relationship between two users
$user->checkFriendship($anotherUser);
it returns
same_user
=> if the$user
is checking his own accountfriends
=> if they are friendswaiting
=> if$user
sent a request waiting for approval from$anotherUser
pending
=> if$anotherUser
user sent a request waiting for approval from$user
not_friends
=> if they are not friends
Check if two users are friends
$user->isFriendsWith($anotherUser);
it returns true
if they are friends and false
if they aren't
Friends
To get a collection of users use the following methods:
Get Friends
$user->friends();
Get a list of users that $user
has received friend requests from
$user->friendRequestsReceived();
Get a list of users that $user
has sent friend requests to
$user->friendRequestsSent();
Events
This is the list of the events fired by default for each action
Event name | Fired |
---|---|
friendrequest.sent | When a friend request is sent |
friendrequest.accepted | When a friend request is accepted |
friendship.deleted | When a friend request is denied |
friendship.deleted | When a friendship is deleted |
for more about how to use the events Check this example
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK