1. Go to this page and download the library: Download rancoud/model 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/ */
rancoud / model example snippets
composer
class User extends Model
{
protected function setFields(): void
{
$this->fields = [
'id' => new Field('int', ['not_null', 'unsigned', 'pk']),
'nickname' => new Field('varchar', ['max:255', 'not_null'])
];
}
protected function setTable(): void
{
$this->table = 'user';
}
}
class MyRule extends CustomRule
{
public function applyRule($value)
{
if ($value === 'azerty') {
throw new FieldException('invalid azerty value');
}
return $value;
}
}
// $database is an instance of Rancoud\Database\Database
$user = new User($database);
$newId = $user->create(['nickname' => 'rancoud']);
$row = $user->one($newId);
// you will have an array representing data in database with correct types
// here : ['id' => 1, 'nickname' => 'rancoud'];
$rows = $user->all();
// here it's all rows in table : [ ['id' => 1, 'nickname' => 'rancoud'] ]
$user->update(['nickname' => 'rancoud2'], $newId);
$user->delete($newId);
// $database is an instance of Rancoud\Database\Database
$user = new User($database);
// 50 rows using LIMIT 50 OFFSET 50
$rows = $user->all(['page' => 1]);
// 10 rows using LIMIT 10 OFFSET 10
$rows = $user->all(['count' => 10, 'page' => 1]);
// count rows in table
$count = $user->all(['rows_count' => 1]);
// return all rows with no limit
$count = $user->all(['no_limit' => 1]);
// change order by
$count = $user->all(['order' => 'nickname']);
// change order by and order
$count = $user->all(['order' => 'nickname|desc']);
// multiple change order by and order
$count = $user->all(['order' => 'nickname|desc,id|asc']);
$model->addBeforeCreate('a', function($sql, $params){
// for modifying sql and params use this return otherwise don't
return [$sql, $params];
});
$model->addAfterCreate('a', function($newId, $params){
// for modifying params use this return otherwise don't
return $params;
});
$model->addBeforeUpdate('a', function($sql, $params){
// for modifying sql and params use this return otherwise don't
return [$sql, $params];
});
$model->addAfterUpdate('a', function($params){
// for modifying params use this return otherwise don't
return $params;
});
$model->addBeforeDelete('a', function($sql, $params){
// for modifying sql and params use this return otherwise don't
return [$sql, $params];
});
$model->addAfterDelete('a', function($params){
// for modifying params use this return otherwise don't
return $params;
});
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.