This package helps you to add user based follow system to your model.
MIT License
Bot releases are hidden (Show)
Added Laravel 11 support.
Full Changelog: https://github.com/overtrue/laravel-follow/compare/5.1.1...5.2.0
Published by overtrue 9 months ago
Full Changelog: https://github.com/overtrue/laravel-follow/compare/5.1.0...5.1.1
Published by overtrue over 1 year ago
Full Changelog: https://github.com/overtrue/laravel-follow/compare/5.0.1...5.1.0
Published by overtrue over 2 years ago
Full Changelog: https://github.com/overtrue/laravel-follow/compare/5.0.0...5.0.1
Published by overtrue over 2 years ago
Now you can follow any models. #170
user_followers
changed to followables
.followers.follower_id
to user_id
(you can change it in the config file app/follow.php
).Overtrue\LaravelFollow\Followable
to use Overtrue\LaravelFollow\Traits\Followable
.follow()
, unfollow()
and toggleFollow()
only accept model used Overtrue\LaravelFollow\Traits\Followable
trait now.Followable::areFollowingEachOther
method.rejectFollowRequestFrom()
, acceptFollowRequestFrow()
, hasRequestedToFollow()
and isFollowedBy
only accept model used Overtrue\LaravelFollow\Traits\Follower
triat now.followingId
to followable_id
.followable_type
.user_id
.Overtrue\LaravelFollow\Traits\Follower
.Full change: https://github.com/overtrue/laravel-follow/commit/59089d5f11a0569f7eecef89bdc96f44fb88cc61
Update composer.json
:
overtrue/laravel-follow:^5.0
Then run composer update:
composer update
Update config file config/follow.php
with the following code:
<?php
return [
/**
* Use uuid as primary key.
*/
'uuids' => false,
/*
* User tables foreign key name.
*/
'user_foreign_key' => 'user_id',
/*
* Table name for followers table.
*/
'followables_table' => 'followables',
/**
* Model class name for followers table.
*/
'followables_model' => \Overtrue\LaravelFollow\Followable::class,
];
Update the trait Overtrue\LaravelFollow\Followable
to Overtrue\LaravelFollow\Traits\Follower
:
- use Overtrue\LaravelFollow\Followable;
+use Overtrue\LaravelFollow\Traits\Followable;
+use Overtrue\LaravelFollow\Traits\Follower;
class User extends Authenticatable
{
use HasApiTokens;
use HasFactory;
use Notifiable;
+ use Follower;
use Followable;
/// <...>
Add doctrine/dbal
package:
Before modifying a column, you must install the doctrine/dbal
package using the Composer package manager.
composer require doctrine/dbal
Create a migration file:
php artisan make:migration update_user_follower_to_followables --table=user_follower
With contents:
public function up()
{
Schema::rename('user_follower', 'followables');
Schema::table('followables', function (Blueprint $table) {
$table->renameColumn('following_id', 'followable_id');
$table->renameColumn('follower_id', config('follow.user_foreign_key', 'user_id'));
$table->string("followable_type")->default(addslashes((new User)->getMorphClass()));
$table->index(config('follow.user_foreign_key', 'user_id'));
$table->index(['followable_type', 'accepted_at']);
});
}
Run migrate:
php artisan migrate
Done.
Published by overtrue over 2 years ago
approvedFollowings/notApprovedFollowings/approvedFollowers/notApprovedFollowers
relations #167 .Full Changelog: https://github.com/overtrue/laravel-follow/compare/4.0.0...4.1.0
Published by overtrue over 2 years ago
Full Changelog: https://github.com/overtrue/laravel-follow/compare/3.1.1...4.0.0
Published by overtrue over 2 years ago
Full Changelog: https://github.com/overtrue/laravel-follow/compare/3.1.0...3.1.1
Published by overtrue almost 3 years ago
You can query users order by followers count with following methods:
orderByFollowersCountDesc()
orderByFollowersCountAsc()
orderByFollowersCount(string $direction = 'desc')
example:
$users = User::orderByFollowersCountDesc()->get();
$mostPopularUser = User::orderByFollowersCountDesc()->first();
Published by overtrue about 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Published by overtrue over 3 years ago
Followable::attachFollowStatus()
Published by overtrue over 3 years ago
Published by overtrue almost 4 years ago