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

merodiro/friendships

A simple package for friendships

9,716 45
ghanem/friendship

friendship system for Laravel 5

334 18
hootlex/laravel-friendships

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

123,376 699
skybluesofa/laravel-followers

This package gives Eloquent models the ability to manage their followers.

10,950 60
obb12/laravel-friendships

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

32 0