Skip to content

seriousjelly/laravel-draftable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel-Draftable

Easily add status to your models in Laravel 5.

Latest Stable Version Total Downloads Latest Unstable Version License

Installation and Requirements

  1. Install the seriousjelly/laravel-draftable package via composer:

    $ composer require seriousjelly/laravel-draftable
  2. Add the service provider (config/app.php for Laravel 5):

    # Add the service provider to the `providers` array
    'providers' => array(
        ...
        'Seriousjelly\Draftable\ServiceProvider',
    )
  3. Ensure that your migrations contain a status column by copy & pasting the below into your table migration file:

    # Add a status column to the table, feel free to change the default value.
    $table->boolean('status')->default(0);

Updating your Eloquent Models

Your models should use Draftable's trait:

use Seriousjelly\Draftable\DraftableTrait;

class MyModel extends Model
{
    use Draftable;
}

Your model is now draftable!

Using this trait

By default all records that have a status of 0 will be excluded from your query results. To include draft records, all you need to do is call the withDrafts() method on your query.

// Returns only live data
Posts::get();

//Returns live & draft data
Posts::withDrafts()->get();

Still To Do

  • Add onlyDrafts() method.
  • Add artisan command to create status column on a table you choose (i.e php artisan draftable:table table_name.
  • Allow the user to specify the column name in this package config (currently hardcoded to status).

Copyright and License

Laravel-Draftable was written by Chris Bratherton and released under the MIT License. See the LICENSE file for details.

Copyright 2015 Chris Bratherton

About

Easily add the ability to draft your Eloquent models in Laravel.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages