merodiro/friendships
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 merodiro@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
This light package, with no dependencies, gives Eloquent models the ability to m...
This package gives Eloquent models the ability to manage their friendships.
This package gives Eloquent models the ability to manage their friendships. Fork...
This package gives Eloquent models the ability to manage friendships (with group...
This package gives Eloquent models the ability to manage their friendships. Fork...