Skip to content

Trait for Laravel Eloquent models to allow easy implementation of a "like" or "favorite" or "remember" feature.

License

Notifications You must be signed in to change notification settings

wuwx/laravel-likeable

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Likeable Plugin

Build Status Latest Stable Version License

Trait for Laravel Eloquent models to allow easy implementation of a "like" or "favorite" or "remember" feature.

Laravel 5 Documentation
Laravel 4 Documentation

Composer Install (for Laravel 5)

composer require rtconner/laravel-likeable "~1.2"

Install and then run the migrations

'providers' => [
	\Conner\Likeable\LikeableServiceProvider::class,
],
php artisan vendor:publish --provider="Conner\Likeable\LikeableServiceProvider" --tag=migrations
php artisan migrate

Setup your models

class Article extends \Illuminate\Database\Eloquent\Model {
	use \Conner\Likeable\Likeable;
}

Sample Usage

$article->like(); // like the article for current user
$article->like($myUserId); // pass in your own user id
$article->like(0); // just add likes to the count, and don't track by user

$article->unlike(); // remove like from the article
$article->unlike($myUserId); // pass in your own user id
$article->unlike(0); // remove likes from the count -- does not check for user

$article->likeCount; // get count of likes

$article->likes; // Iterable Illuminate\Database\Eloquent\Collection of existing likes 

$article->liked(); // check if currently logged in user liked the article
$article->liked($myUserId);

Article::whereLiked($myUserId) // find only articles where user liked them
	->with('likeCounter') // highly suggested to allow eager load
	->get();

Credits

About

Trait for Laravel Eloquent models to allow easy implementation of a "like" or "favorite" or "remember" feature.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%