gregoryduckworth/friendable

Add the possibility of friends quickly with the use of this trait.
20 2
Install
composer require gregoryduckworth/friendable
Latest Version:0.2
PHP:^8.2
License:MIT
Last Updated:Aug 14, 2026
Links: GitHub  ·  Packagist
Maintainer: gregoryduckworth

Friendable

Latest Stable Version Total Downloads Build Status License

Add the possibility of friends quickly with the use of this trait.

Requirements

  • PHP 8.2+
  • Laravel 9.6+, 10.x, 11.x, or 12.x

Install

Via Composer

$ composer require gregoryduckworth/friendable

The service provider will be automatically registered via Laravel's package auto-discovery.

Publish and run the migration:

php artisan vendor:publish --provider="GregoryDuckworth\Friendable\FriendableServiceProvider" --tag="migrations"
php artisan migrate

Usage

Add the Trait to the User Model

use GregoryDuckworth\Friendable\Traits\Friendable;

class User extends Model
{
    use Friendable;
    ...
}

Examples

List all the users confirmed friends

    $user->confirmedFriends();

List all the users pending friends

    $user->pendingFriends();

List all the friends waiting to approve the user

    $user->awaitingApproval();

Request the friendship of another user

    $user->requestFriendship(Model $friend);

Confirm the friendship

    $user->confirmFriendship(Model $friend);

Remove the friendship

    $user->removeFriendship(Model $friend);

Todo

  • Add tests (inc travis builds)
  • Ability to block friends

Change log

Please see CHANGELOG for more information what has changed recently.

License

The MIT License (MIT). Please see License File for more information.

Related Packages

asyrafhussin/laravel-friendships

This package gives Eloquent models the ability to manage their friendships. Fork...

24 0
ghanem/friendship

friendship system for Laravel 5

267 18
obb12/laravel-friendships

This package gives Eloqent models the ability to manage their friendships.

32 0
rennokki/befriended

Eloquent Befriended brings social media-like features like following, blocking a...

93,714 761
coliving/laravel-friendships

This package gives Eloquent models the ability to manage their friendships. Fork...

25,039 0