No description or website provided.
Clone or download
Latest commit 6f2cd09 Nov 10, 2018

README.md

Laravel Categories

Build Status PHP from Packagist Latest Version License

Installation

Require this package, with Composer, in the root directory of your project.

$ composer require faustbrian/laravel-categories

To get started, you'll need to publish the vendor assets and migrate:

php artisan vendor:publish --provider="BrianFaust\Categories\CategoriesServiceProvider" && php artisan migrate

Usage

Nested Sets

Check lazychaser/laravel-nestedset to learn how to create, update, delete, etc. categories.

Setup a Model

<?php

namespace App;

use BrianFaust\Categories\Traits\HasCategories;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use HasCategories;
}

Examples

Get an array with ids and names of categories (useful for drop-downs)

$post->categoriesList();

Attach the Post Model these Categories

$post->syncCategories([Category::find(1), Category::find(2), Category::find(3)]);

Detach the Post Model from these Categories

$post->syncCategories([]);

Detach the Post Model from all Categories and attach it to the new ones

$post->syncCategories([Category::find(1), Category::find(3)]);

Attach the Post Model to the given Category

$post->assignCategory(Category::find(1));

Detach the Post Model from the given Category

$post->removeCategory(Category::find(1));

Get all Posts that are attached to the given Category

Category::first()->entries(Post::class)->get();

Testing

$ phpunit

Security

If you discover a security vulnerability within this package, please send an e-mail to hello@brianfaust.me. All security vulnerabilities will be promptly addressed.

Credits

License

MIT © Brian Faust