racashmoney/laravel-blockable

Trait for Laravel Eloquent models to allow easy implementation of a 'block' or 'ignore' feature.
25 4
Install
composer require racashmoney/laravel-blockable
Latest Version:2.0.3
PHP:>=5.5.0
License:MIT
Last Updated:Aug 15, 2016
Links: GitHub  ·  Packagist
Maintainer: racashmoney

Laravel Blockable Plugin

Build Status Latest Stable Version License

Trait for Laravel Eloquent models to allow easy implementation of a "block" or "ignore" feature.

Laravel 5 Documentation

Composer Install (for Laravel 5)

composer require racashmoney/laravel-blockable "~2.0"

Install and then run the migrations

'providers' => [
	\Racashmoney\Blockable\BlockableServiceProvider::class,
],
php artisan vendor:publish --provider="Racashmoney\Blockable\BlockableServiceProvider" --tag=migrations
php artisan migrate

Setup your models

class Article extends \Illuminate\Database\Eloquent\Model {
	use \Racashmoney\Blockable\Blockable;
}

Sample Usage

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

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

$article->blockCount; // get count of blocks

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

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

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

Credits

Related Packages

qieke/laravel-collection

a laravel packages to collect page,Trait for Laravel Eloquent models to allow ea...

6 2
cybercog/laravel-nova-ban

A Laravel Nova banning functionality for your application.

207,764 40
sugar-agency/laravel-favorites

Implementation of a 'like' or 'favorite' or 'remember' feature. Supports for ses...

1,042 9
cybercog/laravel-ban

Laravel Ban simplify blocking and banning Eloquent models.

713,377 1,127
koodoo/laravel-trait-uuid

A Laravel Eloquent Model trait for adding a UUID to Eloquent Models

16,562 0