Download the PHP package lambdadigamma/laravel-publishable without Composer
On this page you can find all versions of the php package lambdadigamma/laravel-publishable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lambdadigamma/laravel-publishable
More information about lambdadigamma/laravel-publishable
Files in lambdadigamma/laravel-publishable
Package laravel-publishable
Short Description A Laravel Eloquent model trait for publishing and unpublishing
License MIT
Homepage https://github.com/lambdadigamma/laravel-publishable
Informations about the package laravel-publishable
A simple package for making Laravel Eloquent models 'publishable'. Not published models are excluded from queries by default but can be queried via extra scope.
This package allows easy publishing and unpublishing of models by combining scopes and macros.
How does it work?
The package provides a trait Publishable
for your Eloquent model.
Your database schema has to have a published_at
datetime column so that the trait can read and write it.
By reading this column the package can determine which models already have been published and provide the requested models.
Installation
You can install the package via composer:
Usage
Migrations
The Publishable
trait works similarly to Laravel's SoftDeletes
trait. This package provides a macro for Laravel's Migration Builder.
Just use the publishedAt
macro in your migration to get started:
Eloquent Model Trait
After providing a published_at
timestamp on your model, you can use the Publishable
trait on your Eloquent model:
Extensions
The extensions shipped with this trait include; publish
, unpublish
, withNotPublished
, withoutPublished
, onlyPublished
and can be used accordingly:
When not specifing any additional scopes, all not published models are excluded from the query by default (withoutNotPublished
) to prevent leaks of not published data.
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-publishable with dependencies
illuminate/support Version ^8.0 || ^9.0 || ^10.0 || ^11.0
illuminate/database Version ^8.0 || ^9.0 || ^10.0 || ^11.0