agelxnash / modx-evo-database
Installs: 1 092
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 2
Open Issues: 2
Requires
- php: >=5.6
Requires (Dev)
- illuminate/database: 5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*
- illuminate/events: 5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*
- php-coveralls/php-coveralls: 2.1.*
- phpunit/phpunit: 5.7.*|7.2.*
Suggests
- illuminate/database: to use the IlluminateDriver
- illuminate/events: to use observers with Eloquent
- illuminate/pagination: to use paginate
README
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