use Doctrine\DBAL\DriverManager;
require_once __DIR__ . '/vendor/autoload.php';
$connectionParams = [
'url' => 'mysql://user:secret@localhost/mydb',
];
$connection = DriverManager::getConnection($connectionParams);
$queryBuilder = $connection->createQueryBuilder();
$query = $queryBuilder
->select('user.id', 'user.name', 'post.title')
->from('users', 'user')
->leftJoin('user', 'posts', 'post', 'user.id = post.user_id')
->where('email = :EMAIL')
->setParameter(':EMAIL', 'john.doe@example.com');
echo $query->getSQL() . "\n";
var_dump($query->getParameters());
use Aura\SqlQuery\QueryFactory;
require_once __DIR__ . '/vendor/autoload.php';
$queryFactory = new QueryFactory('mysql');
$query = $queryFactory->newSelect();
$query
->cols(['user.id', 'user.name', 'post.title'])
->from('users AS user')
->join('LEFT', 'posts AS post', 'user.id = post.user_id')
->where('user.email = :EMAIL')
->bindValue(':EMAIL', 'john.doe@example.com');
echo $query->getStatement() . "\n";
var_dump($query->getBindValues());
https://github.com/auraphp/Aura.SqlQuery/blob/3.x/docs/index.md
<?php
//composer require illuminate/database
require_once __DIR__ . '/vendor/autoload.php';
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint;
$capsule = new Capsule();
$capsule->addConnection([
"driver" => "mysql",
"host" => "127.0.0.1",
"database" => "database",
"username" => "root",
"password" => "PASSWORD"
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
Capsule::schema()->create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
$date = (new \DateTime())->format('Y-m-d H:i:s');
Capsule::table('users')->insert([
'name' => 'John Doe',
'email' => 'john.doe@exmple.com',
'created_at' => $date,
'updated_at' => $date,
]);
$results = Capsule::table('users')
->select('*')
->where('name', '=', 'John Doe')
->get();
var_dump($results);
https://www.cloudways.com/blog/eloquent-illuminate-in-php-without-laravel/