dambridge / laravel-likeable

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.0.3"

Install and then run the migrations

'providers' => array(
	'Conner\Likeable\LikeableServiceProvider',
);
php artisan vendor:publish --provider="Conner\Likeable\LikeableServiceProvider"
php artisan migrate

Setup your models

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

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.

License:MIT License


Languages

Language:PHP 100.0%