Skip to content

Files

Latest commit

dbbe027 · Jul 4, 2024

History

History
206 lines (170 loc) · 3.9 KB

json.md

File metadata and controls

206 lines (170 loc) · 3.9 KB

Json

Query

  • Create an instance of Database Model:

Important

Protect Storage folder!

$message = new Message();

Insert new data :

$message->create([
    "id"     => 1,
    "status" => "active"
]);

Conditional methode (where & orWhere) and get :

// And
$message
    ->where('id', '=', '1')
    ->where('status', '=', 'active')
    // ...
    ->get();
// Or
$message
    ->where('id', '=', '1')
    ->orWhere('status', '=', 'active')
    // ...
    ->get();
Operator Operator
= !=
== ===
!== >
>= <
<=
Note: = & == is same!

Update data :

$message
    ->where('id', '=', '1')
    ->update('status', 'not active');

Delete data :

$message
    ->where('id', '=', '1')
    ->delete();

Select first row of data:

$message
    ->where('id', '=', '1')
    ->first();

Select all data :

$message->all();

Count all data :

$message->rowCount();

Count selected data :

$message
    ->where('id', '=', '1')
    ->count();

Empty column :

$message
    ->where('id', '=', '1')
    ->empty('status');

Truncate all data :

$message->truncate();

Manage Model

php laragram make:json-model {model_name}
php laragram make:json-model User

Model property

// If the model name and json name are not the same, set the database name
protected string $database = 'Message';

// set fillable keys
protected array $fillable = ['status'];

// set guarded keys
protected array $guarded = ['id'];

Manage Migration

  • Create new table
php laragram make:json-migration {migration_name} --create={table_name}
php laragram make:json-migration create_users_table --create=users
  • Edit table
php laragram make:json-migration {migration_name} --table={table_name}
php laragram make:json-migration edit_users_table --table=users

Note:

  • Note that the names of the migrations should be similar to the example above > create_{table_name}_table > edit_{table_name}_table
  • The table_name must be plural (users, addresses)

Work with migrations

  1. Build a migration
  2. Open the created file ( path: Database/Json/Migrations/ )
  3. Start writing ( An example has been created for you )
  • create table migrations :
JsonSchema::create('column_name', function (JsonBlueprint $table) {
    // create column with string type
    $table->string('name');
    
    // create column with integer type
    $table->integer('name');
    
    // create column with array type
    $table->array('name');
    
    // create column with boolean type
    $table->boolean('name');
    
    // create column with double type
    $table->double('name');
    
    // create column with object type
    $table->object('name');
    
    // create column with any type
    $table->any('name');
    
    // make nullable column 
    $table->string('name')->nullable();
    
    // set default value for column
    $table->string('name')->default('default value');
    
    // make unique column
    $table->string('name')->unique();
    
    // make auto increment column
    $table->integer('id')->autoIncrement();
    
    // make auto increment column with start number
    $table->integer('id')->autoIncrement(100);
    
    // Note: autoIncrement must be an integer
});
  • edit table migrations :
JsonSchema::table('column_name', function (JsonBlueprint $table) {
    // All methods like create migrations
});

Migrate

php laragram json-migrate