# Create connection
$db = App::getDb('default', 'mysql://user:password@localhost/db_name');
# Call known connection
$db = App::getDb('default');
# Call default connection (if known)
$db = App::getDb();
$db->dropDatabase('test', true);
=> returns boolean
$db->createDatabase('test', true);
=> returns boolean
$db->use('test');
=> returns boolean
$db->listTables($table_name=null, $database_name=null);
$db->createTable('TEST', ['id' => 'int(11) not null auto_increment', 'my_int' => 'int(11) null', 'my_text' => "varchar(32) not null default ''"], ['primary key (id)'], true);
=> returns boolean
$test = [
'my_int' => '111',
'my_text' => 'ok',
];
$db->getTable('TEST')->insert($test);
=> returns insert_id
$test = new \StdClass;
$test->my_int = '111';
$test->my_text = 'ok';
$db->getTable('TEST')->insert($test);
=> returns insert_id
$update = ['my_int' => '11111', 'my_text' => 'ok ok'];
$where = ['id' => 1];
$db->getTable('TEST')->update($update, $where);
=> return affected_rows
$test = $db->getTable('TEST')->one($where, $options);
//$test = $db->getTable('TEST')->getOne($where, $options);
=> returns array
$test = $db->getTable('TEST')->all($where, $options);
//$test = $db->getTable('TEST')->select($where, $options);
//$test = $db->getTable('TEST')->getAll($where, $options);
$test = $db->getTable('TEST')->getAllWithFoundRows($where, $options);
$test = $db->getTable('TEST')->getAllPagination($where, $nb_per_page, $page_idx, $options);
=> returns array (2 dimensions)
$user = $db->getTable('users')->one($where, $options);
//$user = $db->getTable('users')->getOne($where, $options);
//$user = $db->getTable('users')->selectOne($where, $options);
$users = $db->getTable('users')->all($where, $options);
//$users = $db->getTable('users')->getAll($where, $options);
//$users = $db->getTable('users')->selectAll($where, $options);
//$users = $db->getTable('users')->select($where, $options);
$users_count = $db->getTable('users')->count($where, $options);
//$users_count = $db->getTable('users')->selectCount($where, $options);
$tuple = $db->getTable('users')->getAllWithFoundRows($where, $options);
$tuple = $db->getTable('users')->getAllPagination($where, $nb_per_page, $page_idx, $options);
$nb_rows_affected = $db->getTable('users')->update($update_data, $where, $options);
$user_id = $db->getTable('users')->insert($insert_data, $options);
$nb_rows_affected = $db->getTable('users')->delete($where, $options);
nano src/Models/User.php
<?php
namespace MyApp\Models;
use \KarmaFW\App;
use \KarmaFW\Database\Sql\SqlTableModel;
class Utilisateur extends SqlTableModel
{
public static $table_name = 'users';
public static $primary_key = ['user_id'];
}
Then, use the model object :
use \App\Models\User.php
$user = User::load($user_id, $where, $options);
$user = User::one($where, $options);
//$user = User::getOne($where, $options);
//$user = User::selectOne($where, $options);
$users = User::all($where, $options);
//$users = User::getAll($where, $options);
//$users = User::selectAll($where, $options);
//$users = User::select($where, $options);
$users_count = User::count($where, $options);
//$users_count = User::selectCount($where, $options);
$tuple = User::getAllWithFoundRows($where, $options);
$tuple = User::getAllPagination($where, $nb_per_page, $page_idx, $options);
$user_id = User::insert($insert_data, $options);
User::insertAll($rows_of_data, $options);
User::insertAll($rows_of_data, ['ignore' => true]);
User::insertAll($rows_of_data, ['on duplicate key' => 'user_name = values(user_name)']);
$nb_rows_affected = User::update($update_data, $where, $options);
$nb_rows_affected = User::delete($where, $options);
$db->escape($var);
# Returns an escaped string of $var
$db->buildSqlWhere($var);
# Builds a SQL where clause from an array
User::getEmpty();
$db->getTable('users')->getEmpty();
# Returns an object with all expected keys and empty values