agelxnash/modx-evo-database
DBAPI Evolution
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/database
Get Laravel database for your non laravel projects. Built on top of illuminate/d...
36,393
90
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 | |
| 1.4.3 | >=5.6 | MIT | |
| 1.4.2 | >=5.6 | MIT | |
| 1.4.1 | >=5.6 | MIT | |
| 1.4.0 | >=5.6 | MIT | |
| 1.3.2 | >=5.6 | MIT | |
| 1.3.1 | ^7.1 | MIT | |
| 1.3.0 | ^7.1 | MIT | |
| 1.2.0 | ^7.1 | MIT | |
| 1.1.0 | ^7.1 | MIT | |
| 1.0.0 | ^7.1 | MIT |

