mintbridge / eloquent-sentiment by mintbridge

An eloquent package for adding sentiment to eloquent models.
255
1
1
Package Data
Maintainer Username: mintbridge
Maintainer Contact: paul.dixon@mintbridge.co.uk (Paul Dixon)
Package Create Date: 2016-02-21
Package Last Update: 2016-02-21
Language: PHP
License: MIT
Last Refreshed: 2024-11-19 03:15:52
Package Statistics
Total Downloads: 255
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 1
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

Eloquent Sentiment

Laravel 5 package for adding sentiment to eloquent models.

Installation

This package can be installed through Composer.

composer require mintbridge/eloquent-sentiment

Once installed add the service provider and facade to your app config

// config/app.php

'providers' => [
    '...',
    'Mintbridge\EloquentSentiment\SentimentServiceProvider',
];

'aliases' => [
    '...',
    'Sentiment' => 'Mintbridge\EloquentSentiment\SentimentFacade',
];

You'll also need to publish and run the migration in order to create the database table.

php artisan vendor:publish --provider="Mintbridge\EloquentSentiment\SentimentServiceProvider" --tag="config"
php artisan vendor:publish --provider="Mintbridge\EloquentSentiment\SentimentServiceProvider" --tag="migrations"
php artisan migrate

The configuration will be written to config/eloquent-sentiment.php. The options have sensible defaults but you should change the user model to match the one used in your application.

Usage

This package will allow your users to add sentiment to models used in your application. To do so the models that you would like to be sentimentable must use the Sentimentable trait and implement SentimentableInterface.

use Mintbridge\EloquentSentiment\Sentimentable;
use Mintbridge\EloquentSentiment\SentimentableInterface;

class Article extends Eloquent implements SentimentableInterface {

    use Sentimentable;
    ...
}

Sentiment can be added to models by using the SentimentManager or more easily with the Sentiment facade:

$article = Article::find(1);

// add article as a favourite
Sentiment::add('like', $article);

// remove article from by a favourite
Sentiment::remove('like', $article);

// toggle article as being a favourite
Sentiment::toggle('like', $article);

Contributing

Please see CONTRIBUTING for details.

License

The MIT License (MIT). Please see License File for more information.