PHP code example of basanta / array-model

1. Go to this page and download the library: Download basanta/array-model library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

basanta / array-model example snippets




namespace App\ArrayModels;

use Basanta\ArrayModel\ArrayModel;

class User extends ArrayModel {}

User::create(['id' => 1, 'name' => 'Alice', 'role' => 'admin', 'active' => true]);
User::create(['id' => 2, 'name' => 'Bob', 'role' => 'editor', 'active' => false]);
User::create(['id' => 3, 'name' => 'Cara', 'role' => 'admin', 'active' => true]);

$admins = User::where('role', 'admin');        // Laravel-style where
$activeAdmins = User::where(['role' => 'admin', 'active' => true]); // multi-condition

$all = User::array();



namespace App\ArrayModels;

use Basanta\ArrayModel\ArrayModel;

class User extends ArrayModel
{
    public function posts()
    {
        return $this->hasMany(Post::class, 'user_id', 'id');
    }
}

class Post extends ArrayModel
{
    public function user()
    {
        return $this->belongsTo(User::class, 'user_id', 'id');
    }
}

$user = User::where('id', 1)->first();
$posts = $user->posts; // relationship method is executed and cached

User::load('posts');
User::load(['posts']);

User::where([
    'role' => 'admin',
    'active' => true,
]);

User::where([
    ['id', '>=', 2],
    ['role', 'admin'],
]);

User::where(['role' => 'editor'])->update(['active' => true]);

User::where(['active' => false])->delete();

$selected = User::where([
    ['id', 'in', [1, 3]],
    ['role', 'not', 'guest'],
]);