a laravel wrapper for the flywheel package

v0.0.3 2017-08-12 01:17 UTC

This package is not auto-updated.

Last update: 2020-05-29 19:34:16 UTC


This is a wrapper class for the Jamesmoss/flywheel package.

A laravel facade for flat file documents

This is a facade that can be used beside the default laravel database structure. Since this doesn't override Laravel's core database functionality you can use both at the same time.


composer require allenjd3\laravel-flywheel

Then add to your config/app file under application providers

'providers' => [
        * Package Service Providers...

If you want to use the Facade then add this to your aliases array

'aliases' => [
    'Flywheel' => Allenjd3\Flywheel\facades\Flywheel::class,




This method is optional if you want to change either the table name or storage path

Example- (optional)

$flywheel = Flywheel::config($name, $path);


This method creates a new Document and saves it to your path. You can use laravel validation on the request before running this.

$id = Flywheel::create($array)

Update / findById

This method updates a post. You must find the post by id before updating it.

$doc = Flywheel::findById($id);
$doc->param = "new value";


This method finds all documents within the given configuration path

$docs = Flywheel::findAll();


This method deletes a post that matches a given id.


Where / get

This method returns a query object that can be chained

$docs = Flywheel::where('title', '==', 'Shiver Me Timbers')->get();

Get ends the queries and executes the result.

limit, orderBy, andWhere

$docs = Flywheel::limit($count, $offset)->get();
$docs = Flywheel::orderBy('fieldname ASC|DESC')->get();

andWhere is a wrapper for additional where queries.

All types of queries, (where, limit, orderby, andWhere) can be chained before calling get. Example-

$docs = Flywheel::where('title','==','Most Excellent')
                ->orderBy('title ASC')


If you only want to return a single document you can run first instead of get

$doc = Flywheel::where('title', '==', 'Most Excellent')->first();

All returned values can be returned and will return a json string.

return $docs;

If you want to return a laravel response object with application/json headers then you can run

return $docs->toJson();


return $docs->toArray();

of course you can always pass the variable into a Blade template

return view('', compact('docs'));

Find an error or want a feature?

Send a pull request!