batuhan / laravel-flaggable by batuhan
forked from rtconner/laravel-likeable

Trait for Laravel Eloquent models to allow easy implementation of a 'flag' feature.
14
0
2
Package Data
Maintainer Username: batuhan
Maintainer Contact: i@bt.hn (Batuhan Icoz)
Package Create Date: 2015-04-23
Package Last Update: 2015-04-23
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-19 15:00:34
Package Statistics
Total Downloads: 14
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Laravel Flaggable Plugin

Build Status Latest Stable Version License

Trait for Laravel Eloquent models to allow easy implementation of a "flag" feature. Only tested with Laravel 5.

Composer Install (for Laravel 5)

composer require batuhan/laravel-flagable "~1.0.0"

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->flag(); // like the article for current user
$article->flag($myUserId); // pass in your own user id
$article->flag(0); // just add flags to the count, and don't track by user

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

$article->flagCount; // get count of flags

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

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

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

Credits

  • Robert Conner - http://smartersoftware.net