agelxnash/modx-evo-database

1,261 2
Install
composer require agelxnash/modx-evo-database
Latest Version:1.5.0
PHP:>=5.6
License:MIT
Last Updated:Dec 9, 2020
Links: GitHub  ·  Packagist
Maintainer: Agel Nash

DBAPI Evolution

CMS MODX Evolution Build Status StyleCI Code quality Code Coverage Total Downloads License

Example


MySQLi
$DB = new AgelxNash\Modx\Evo\Database\Database([
    'host' => 'localhost',
    'database' => 'modx',
    'username' => 'homestead',
    'password' => 'secret',
    'prefix' => 'modx_',
    'charset' => 'utf8mb4',
    'method' => 'SET NAMES',
    'collation' => 'utf8mb4_unicode_ci',
]);
$DB->setDebug(true);
$DB->connect();
$table = $DB->getFullTableName('site_content');

$result = $DB->query('SELECT * FROM ' . $table . ' WHERE parent = 0 ORDER BY pagetitle DESC LIMIT 10');
    // or
$result = $DB->select('*', $table, 'parent = 0', 'pagetitle DESC', '10');
    // or
$result = $DB->select(
        ['id', 'pagetitle', 'title' => 'longtitle'],
        ['c' => $table],
        ['parent = 0'],
        'ORDER BY pagetitle DESC',
        'LIMIT 10'
    );
foreach ($DB->makeArray($result) as $item) {
    echo "\t [ DOCUMENT #ID " . $item['id'] . ' ] ' . $item['pagetitle'] . PHP_EOL;
}
Illuminate\Database and Eloquent

composer require "illuminate/database" required when you need to use IlluminateDriver composer require "illuminate/events" required when you need to use observers with Eloquent

$DB = new AgelxNash\Modx\Evo\Database\Database(
    [
        'host' => 'localhost',
        'database' => 'modx',
        'username' => 'homestead',
        'password' => 'secret',
        'prefix' => 'modx_',
        'charset' => 'utf8mb4',
        'method' => 'SET NAMES',
        'collation' => 'utf8mb4_unicode_ci',
    ],
    AgelxNash\Modx\Evo\Database\Drivers\IlluminateDriver::class
);
$DB->connect();

$table = $DB->getFullTableName('site_content');
$result = $DB->query('SELECT * FROM ' . $table . ' WHERE parent = 0 ORDER BY pagetitle DESC LIMIT 10');
foreach ($DB->makeArray($result) as $item) {
    echo "\t [ DOCUMENT #ID " . $item['id'] . ' ] ' . $item['pagetitle'] . PHP_EOL;
}

$results = Illuminate\Database\Capsule\Manager::table('site_content')
    ->where('parent', '=', 0)
    ->orderBy('pagetitle', 'DESC')
    ->limit(10)
    ->get();
foreach ($results as $item) {
    echo "\t [ DOCUMENT #ID " . $item->id . ' ] ' . $item->pagetitle . PHP_EOL;
}

$results = AgelxNash\Modx\Evo\Database\Models\SiteContent::where('parent', '=', 0)
    ->orderBy('pagetitle', 'DESC')
    ->limit(10)
    ->get();
foreach ($results as $item) {
    echo "\t [ DOCUMENT #ID " . $item->id . ' ] ' . $item->pagetitle . PHP_EOL;
}

// create table
Illuminate\Database\Capsule\Manager::schema()->create('users', function ($table) {
    $table->increments('id');
    $table->string('email')->unique();
    $table->timestamps();
});

Read more about

Author


Related Packages

laravel-doctrine/migrations

Doctrine Migrations for Laravel

3,034,670 78
laravel/database

Get Laravel database for your non laravel projects. Built on top of illuminate/d...

36,393 90
spatie/laravel-backup

A Laravel package to backup your application

29,404,441 6,025

Version History

Version Released PHP License
1.5.0 >=5.6 MIT
1.4.7 >=5.6 MIT
1.4.6 >=5.6 MIT
1.4.5 >=5.6 MIT
1.4.4 >=5.6 MIT