A series of scopes for Laravel Models to do with Time Management.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
diagram
src/Traits
.gitignore
composer.json
readme.md

readme.md

TimeKeeper Latest Stable Version Total Downloads Latest Unstable Version License

A series of scopes for Laravel Models to do with Time Management.

Please note: This project is a work in progress.

Relationship Diagram

Relationship Diagram

#Installation

This package requires PHP 5.6+ and Laravel 5.

To install through composer include the package in your composer.json.

"midnite81/timekeeper": "0.2.*"

Run composer install or composer update to download the dependencies or you can run composer require midnite81/timekeeper.

##Laravel 5 Integration

There is no service provider to install. Simply include the trait to the model you need to use it on.

Example Usage

On your model simply add the use statement to the Model you want to use it on.

use Midnite81\TimeKeeper\Traits\TimeKeeper;

class YourModel
{
    use TimeKeeper;

    ...

}

Then reference it in your controller or service etc;

public function check() {

    $overlap = YourModel::overlapsWith('2016-01-01 15:32:00', '2016-01-01 16:46:00')->exists();

    $after = YourModel::after('2016-01-01 10:00:00', 2016-01-01 11:00:00', 'start', 'end')->exists();

    ...

}

All scopes take the following arguments

  • Start DateTime (yyyy-mm-dd hh:ii)
  • End DateTime (yyyy-mm-dd hh:ii)
  • Start Time Column in Database (optional, defaults to start_time)
  • End Time Column in Database (optional, defaults to end_time)