ƒ# Potato-ORM
Potato-ORM is a package that manages the CRUD operation of database. Potato-ORM currently supports MYSQL
, POSTGRES
and SQLITE
Database.
PHP 5.5+ and Composer are required.
Via Composer
$ composer require ibonly/potato-orm
$ composer install
namespace Ibonly\PotatoORM
Create a Class
that correspond to the singular form of the table name in the database. i.e.
namespace Ibonly\PotatoORM;
class User extends Model
{
protected $table = 'tableName';
protected fillables = ['name', 'email'];
}
The table name can also be defined in the model if the user wants it to be specified.
The fields that is to be output can also be specified as protected $fillables = []
.
The Model
class contains getAll()
, where([$field => $value])
, find($value)
, save()
, update() and detroy($id)
methods.
use Ibonly\PotatoORM\User;
$sugar = new User();
return $sugar->getAll()->all();
Return type = JSON
use Ibonly\PotatoORM\User;
$sugar = new User();
return $sugar->where([$field => $value])->first()->username;
Passing conditions to where
return $sugar->where([$field => $value, $field2 => $value2], 'AND')->first()->username;
Return type = String
use Ibonly\PotatoORM\User;
$update = new User();
$update->password = "password";
echo $insert->update(1)
To return custom message, wrap the `save()` method in an `if statement`
Return type = Boolean
use Ibonly\PotatoORM\User;
$insert = new User();
$insert->id = NULL;
$insert->username = "username";
$insert->email = "[email protected]";
$insert->password = "password";
echo $insert->save();
To return custom message, wrap the `save()` method in an `if statement`
Return type = Boolean
This method is used to upload file, it can only be used along side save()
and update($id)
use Ibonly\PotatoORM\User;
$insert = new User();
$insert->id = NULL;
$insert->username = "username";
$insert->email = "[email protected]";
$insert->avatar = $this->content->file($_FILES['image'])->uploadFile($uploadDirectory);
$insert->password = "password";
echo $insert->save();
use Ibonly\PotatoORM\User;
$insert = User::destroy(2);
die($insert);
Return type = Boolean
Its is also possible to create Database Table with the Schema
class. The table name will be specified in the
createTable($name)
method.
use Ibonly\PotatoORM\Schema;
$user = new Schema;
$user->field('increments', 'id');
$user->field('strings', 'username');
$user->field('strings', 'name', 50);
$user->field('integer', 'age');
$user->field('primaryKey', 'id');
echo $table->createTable('players');
Return type = Boolean
Foreign Key
$user->field('foreignKey', 'id', 'users-id');
The reference table (users)
and field (id)
will be written as (users-id)
Unique Key
$user->field('unique', 'email')
$ vendor/bin/phpunit test
To contribute and extend the scope of this package, Please check out CONTRIBUTING file for detailed contribution guidelines.
Potato-ORM is created and maintained by Ibraheem ADENIYI
.