This package gives users the ability to manage their friendships.
- Send Friend Requests
- Accept Friend Requests
- Deny Friend Requests
- Delete Friend
First, install the package through Composer.
composer require merodiro/friendshipsThen include the service provider inside config/app.php.
'providers' => [
...
Merodiro\Friendships\FriendshipsServiceProvider::class,
...
];Finally, migrate the database
php artisan migrate
use Merodiro\Friendships\Friendable;
class User extends Model
{
use Friendable;
...
}Check the Test file to see the package in action
$user->addFriend($recipient);$user->acceptFriend($sender);$user->deleteFriend($sender);$user->deleteFriend($friend);$user->mutualFriends($anotherUser);$user->checkFriendship($anotherUser);it returns
same_user=> if the$useris checking his own accountfriends=> if they are friendswaiting=> if$usersent a request waiting for approval from$anotherUserpending=> if$anotherUseruser sent a request waiting for approval from$usernot_friends=> if they are not friends
$user->isFriendsWith($anotherUser);it returns true if they are friends and false if they aren't
To get a collection of users use the following methods:
$user->friends();$user->friendRequestsReceived();$user->friendRequestsSent();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
$ composer testPlease see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.