Friendships
Friendships copied to clipboard
a package for Friendships system
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$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
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
- Amr A. Mohammed
- All Contributors
License
The MIT License (MIT). Please see License File for more information.