dev-master
9999999-devFriends system for users, on Laravel.
The Development Requires
0.1.0
0.1.0.0Friends system for users, on Laravel.
The Development Requires
Friends system for users, on Laravel.
A Laravel 5.1 package designed to enhance Eloquent users with connections between users, including approvals by both users and additional data., (*1)
Friendly includes many shortcuts to creating one's own Friend system, but the developer is free to implement the details however they require., (*2)
composer require gridprinciples/friendly
from your project directory.Add the following to the providers
array in config/app.php
:, (*3)
GridPrinciples\Friendly\Providers\FriendlyServiceProvider::class,
Publish the migrations and config file:, (*4)
php artisan vendor:publish --provider="GridPrinciples\Friendly\Providers\FriendlyServiceProvider"
Run the migrations:, (*5)
php artisan migrate
This will add a friends
table to your database to track relationships between models., (*6)
Add the Friendly
trait to your User model:
use Friendly;
, (*7)
You may now relate users to each other:, (*8)
// Using the "requesting" user model... $dad = User::where('name', 'darth')->first(); // ...and the one receiving the friend request... $kid = User::where('name', 'luke')->first(); // may include "pivot" data. $dad->befriend($kid, [ 'name' => 'Father', 'other_name' => 'Son', 'start' => '1980-05-21', ]); // ...and later, the secondary user approves the request: $kid->approve($dad); // At this point, either user is associated with the other via their `friends` attribute (a Collection): $relatives = $kid->friends->toArray(); // Either user may sever the relationship, resulting in a type of block: $kid->block($dad);
The included implementation table includes the following additional information about each friend request:, (*9)
name
: Describes the requesting user's relationship with the secondary user.other_name
: Describes the secondary user's relationship with the requesting user.start
: When the relationship started, or will start.end
: When the relationship When time you access the "friends" property on a user Model, the connections will be loaded and cached. If you make changes to a different relationship which would affect a loaded user's friends, you might need to reload them:, (*10)
$user->resetFriends();
Friends system for users, on Laravel.
Friends system for users, on Laravel.