PHP code example of madesimple / database
1. Go to this page and download the library: Download madesimple/database library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
madesimple / database example snippets
$connection
->select()
->from('table')
->where('column', '=', 'value');
// SELECT * FROM `table` WHERE `columns` = ?
$connection
->update()
->table('table')
->set('column', 'new-value')
->where('another-column', '=', 'value');
// UPDATE `table` SET `column`=? WHERE `another-column` = ?
$connection
->insert()
->into('table')
->columns('column1', 'column2')
->values(5, 'value');
// INSERT INTO `table` (`column1`,`column2`) VALUES (?,?)
$rows = [
['column1_value1', 'column2_value1'],
['column1_value2', 'column2_value2'],
['column1_value3', 'column2_value3'],
];
$connection
->insert()
->into('table')
->columns('column1', 'column2')
->chunkedQuery($rows, 2);
// INSERT INTO `table` (`column1`,`column2`) VALUES (?,?),(?,?)
// INSERT INTO `table` (`column1`,`column2`) VALUES (?,?)
$connection
->delete()
->from('table')
->where('column', '=', 'value');
// DELETE FROM `table` WHERE `column` = ?
$connection->statement(function (CreateTable $create) {
$create->table('user')->ifNotExists();
$create->column('id')->integer(10)->primaryKey()->autoIncrement();
$create->column('uuid')->char(36)->unique()->notNull();
$create->column('email')->char(255)->unique()->notNull();
$create->column('password')->char(255)->notNull();
$create->column('created_at')->timestamp()->notNull()->useCurrent();
$create->column('updated_at')->timestamp()->notNull()->useCurrent();
$create
->engine('InnoDB')
->charset('utf8mb4', 'utf8mb4_general_ci');
});
// CREATE TABLE IF NOT EXISTS `user` (
// `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
// `uuid` CHAR(36) NOT NULL UNIQUE,
// `email` CHAR(255) NOT NULL UNIQUE,
// `password` CHAR(255) NOT NULL,
// `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
// `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
// ) ENGINE=InnoDB,DEFAULT CHARACTER SET=utf8mb4,COLLATE=utf8mb4_general_ci
class User extends \MadeSimple\Database\Entity
{
use \MadeSimple\Database\Entity\Relational;
protected static function getMap()
{
return new \MadeSimple\Database\EntityMap(
'user', // Table name
['id'], // Primary key(s)
[ // Other columns: database name => property name
'uuid',
'email',
'password',
'created_at' => 'createdAt',
'updated_at' => 'updatedAt',
]
);
}
/**
* @return \MadeSimple\Database\Relationship\ToMany
*/
public function posts()
{
return $this->toMany()->has(Post::class, 'p', 'user_id');
}
}
class Post extends \MadeSimple\Database\Entity
{
use \MadeSimple\Database\Entity\Relational;
protected static function getMap()
{
return new \MadeSimple\Database\EntityMap(
'post', // Table name
['id'], // Primary key(s)
[ // Other columns: database name => property name
'uuid',
'user_id' => 'userId',
'title',
'content',
'created_at' => 'createdAt',
'updated_at' => 'updatedAt',
]
);
}
/**
* @return \MadeSimple\Database\Relationship\ToOne
*/
public function user()
{
return $this->toOne()->belongsTo(User::class, 'u', 'user_id');
}
}