Download the PHP package alvin0/database-json-laravel without Composer
On this page you can find all versions of the php package alvin0/database-json-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download alvin0/database-json-laravel
More information about alvin0/database-json-laravel
Files in alvin0/database-json-laravel
Package database-json-laravel
Short Description Create and manage json databases with Laravel
License MIT
Homepage https://github.com/alvin0/DatabaseJsonLaravel
Informations about the package database-json-laravel
Database Json Laravel - php flat file database based on JSON files Library to use JSON files like a database. Functionality inspired by Eloquent
Requirements
-
PHP 7.2.5+
- Composer
Installation
You can install the package via composer
composer require alvin0/database-json-laravel
Optional: The service provider will automatically get registered. Or you may manually add the service provider in your config/app.php
file:
'providers' => [
// ...
DatabaseJson\DataBaseJsonServiceProvider::class,
];
You should publish the config/databasejson.php
config file .
Structure of table files
table_name.data.json
- table file with data
table_name.config.json
- table file with configuration
Basic Usage
I. Create Model and Migration with command line
1. Model
Create model :
php artisan databasejson:model User -m
Optional :
-m : Generate a migrate for the given model.
-f : Create the class even if the model already exists
Code generate
2. Migration
2.1 Create a migration table
php artisan databasejson:migration user --table=users
Code generate
Optional
The --table option may also be used to indicate the name of the table. the --update option will create migrate with method update table
2.2 Update migrate table
The update only supports adding or removing columns in the table
If you want to delete the table, use this method in the function up() :
DatabaseJson::remove('table_name');
example create migrate type update
php artisan databasejson:migration user --table="users" --update
Code generate
2.3 Run Migrate
php artisan databasejson:migrate
Optional
--fresh : remove all table and up --path : Specify a path
II. Basic Usage
1. Model Conventions
By default, model expects created_at
and updated_at
columns to exist on your tables. If you do not wish to have these columns automatically managed by Model, set the $timestamps
property on your model to false
:
2. Inserting & Updating & Delete Models
2.1 Insert
To create a new record in the database, create a new model instance, set attributes on the model, then call the save
or use static function create
method:
Example
2.2 Update
To create a new record in the database, create a new model instance, set attributes on the model, then call the save
or use static function create
method:
Example
2.3 Delete
Remove data with constraints
Remove all data in table
3. Retrieving Models
all() -> This is a static function used to retrieve all objects in the model.
find($id) -> This is a static function used to retrieve an object by id in the model.
Adding Additional Constraints
You may add constraints to queries, and then use the get()
or paginate($perpage)
method to retrieve the results
where() - filter records ( Standard operators =, !=, >, <, >=, <=, like )
orWhere() - other type of filtering results.
orderBy() - sort rows by key in order, can order by more than one field (just chain it).
groupBy() - group rows by field.
Example :
-
use
all()
retrieve the results -
use
get()
retrieve the results -
use
paginate($perpage)
retrieve the results - add constraints
4 Relations
4.1 setup relationship
There are 2 relationships when applied : belongsTo and hasMany
local_key default is id
-
belongsTo foreign_key default is
primaryKey
table relation - hasMany
4.2 Retrieve relationship
-
belongsTo
-
hasMany
- Appends relational data to model results when retrieved with function
with()
5 creating the accessor
5.1Defining An Accessor
To define an accessor, create a getFooAttribute method on your model where Foo is the "studly" cased name of the column you wish to access. In this example, we'll define an accessor for the first_name attribute. The accessor will automatically be called by Eloquent when attempting to retrieve the value of the first_name attribute:
As you can see, the original value of the column is passed to the accessor, allowing you to manipulate and return the value. To access the value of the accessor, you may access the first_name attribute on a model instance:
5.2 Appending Values
After creating the accessor, add the attribute name to the appends property on the model. Note that attribute names are typically referenced in "snake case", even though the accessor is defined using "camel case":
Description
More informations you can find in PHPDoc, I think it's documented very well.
This is a development project from the Lazer-Database project :link https://github.com/Greg0/Lazer-Database