Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Operasi CRUD

NexaModel documentation.

NexaModel · Storage() · NexaDb

$this->Storage('news')->where()->first();

Create (Insert)

Insert Single Record

$userId = $this->Storage('users')->insert([ 'name' => 'John Doe', 'email' => 'john@example.com', 'password' => password_hash('secret', PASSWORD_DEFAULT), 'created_at' => date('Y-m-d H:i:s') ]); echo "User created with ID: " . $userId;

Insert Multiple Records

$result = $this->Storage('users')->insertMany([ [ 'name' => 'User 1', 'email' => 'user1@example.com', 'password' => password_hash('secret1', PASSWORD_DEFAULT) ], [ 'name' => 'User 2', 'email' => 'user2@example.com', 'password' => password_hash('secret2', PASSWORD_DEFAULT) ] ]); echo "Inserted " . $result . " records";

Upsert (Insert or Update)

$result = $this->Storage('users')->upsert([ 'email' => 'john@example.com', 'name' => 'John Doe Updated', 'updated_at' => date('Y-m-d H:i:s') ], ['name', 'updated_at']); // Kolom yang akan diupdate jika record sudah ada

Read (Select)

Get All Records

$users = $this->Storage('users')->get();

Get First Record

$user = $this->Storage('users') ->where('email', 'john@example.com') ->first();

Get Last Record

$user = $this->Storage('users') ->orderBy('id', 'DESC') ->first(); // atau $user = $this->Storage('users')->last();

Get Specific Value

$name = $this->Storage('users') ->where('id', 1) ->value('name');

Pluck Values

// Get array of names $names = $this->Storage('users')->pluck('name'); // Get associative array (key => value) $users = $this->Storage('users')->pluck('name', 'id');

Update

Update Records

$affected = $this->Storage('users') ->where('id', 1) ->update([ 'name' => 'Updated Name', 'updated_at' => date('Y-m-d H:i:s') ]); echo "Updated " . $affected . " records";

Update Multiple Records

$affected = $this->Storage('users') ->where('status', 'inactive') ->update([ 'status' => 'active', 'updated_at' => date('Y-m-d H:i:s') ]);

Increment/Decrement

// Increment $this->Storage('users') ->where('id', 1) ->increment('login_count'); // Increment dengan nilai custom $this->Storage('users') ->where('id', 1) ->increment('points', 50); // Increment dengan data tambahan $this->Storage('users') ->where('id', 1) ->increment('login_count', 1, [ 'last_login' => date('Y-m-d H:i:s') ]); // Decrement $this->Storage('users') ->where('id', 1) ->decrement('points', 10);

Delete

Delete Records

$affected = $this->Storage('users') ->where('status', 'banned') ->delete(); echo "Deleted " . $affected . " records";

Force Delete

$affected = $this->Storage('users') ->where('id', 1) ->forceDelete();

Lanjut

Topik sebelumnya: Record Exclusion (noSelectFields). Topik berikutnya: Aggregation dan Statistik. Lihat juga Models, Events, Helper & template, daftar dokumentasi.