ibonly / potato-orm
Requires
- php: >=5.5
- vlucas/phpdotenv: ^2.0
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- mockery/mockery: >=0.7.2
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2024-10-26 18:33:27 UTC
README
ƒ# Potato-ORM
Potato-ORM is a package that manages the CRUD operation of database. Potato-ORM currently supports MYSQL
, POSTGRES
and SQLITE
Database.
Installation
PHP 5.5+ and Composer are required.
Via Composer
$ composer require ibonly/potato-orm
$ composer install
Usage
App Namespace
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.
getAll()
use Ibonly\PotatoORM\User; $sugar = new User(); return $sugar->getAll()->all();
Return type = JSON
where($field, $value)
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
Update($value):
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
save()
use Ibonly\PotatoORM\User; $insert = new User(); $insert->id = NULL; $insert->username = "username"; $insert->email = "example@example.com"; $insert->password = "password"; echo $insert->save();
To return custom message, wrap the `save()` method in an `if statement`
Return type = Boolean
file($fileName)->uploadFile()
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 = "example@example.com"; $insert->avatar = $this->content->file($_FILES['image'])->uploadFile($uploadDirectory); $insert->password = "password"; echo $insert->save();
detroy($value)
use Ibonly\PotatoORM\User; $insert = User::destroy(2); die($insert);
Return type = Boolean
Create Database Table
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
Database Constraint
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')
Testing
$ vendor/bin/phpunit test
Contributing
To contribute and extend the scope of this package, Please check out CONTRIBUTING file for detailed contribution guidelines.
Credits
Potato-ORM is created and maintained by Ibraheem ADENIYI
.