mcred / phpred
Relationships, Entities and Datasources for PHP
0.0.5
2017-08-30 22:43 UTC
Requires
- joshcam/mysqli-database-class: ^2.8
- theseer/autoload: ^1.23
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- codeclimate/php-test-reporter: ^0.4.4
- phpunit/phpunit: ^6.1
This package is auto-updated.
Last update: 2024-11-06 17:07:44 UTC
README
Description
PHPRed is an opinionated light weight ORM. While there are many available ORMs for PHP, many contain features that I have never used. PHPRed contains very basic methods and usage.
Requirements
- PHP 7.1+
- Composer
- Mysqli
Installation
composer require mcred/phpred
Setup
In addition to the example below, there are examples available in the `tests/mocks` folder. Setting up a model is very easy: create a model class that extends the `PHPRed/Models/Model` class then define the properties of that model in the constructor. Such as:
<?php class MyClass extends \PHPRed\Models\Model { public function __construct(\MysqliDb $mysql) { $this->model = 'MyClass'; $this->table = 'my_class'; $this->primaryKey = 'id'; $this->foreignKey = 'my_class_id'; $this->fields = ['id', 'name']; $this->requiredFields = ['name']; $this->uniqueFields = ['name']; $this->hasMany = ['MyClassProperties']; $this->hasAndBelongsToMany = ['Users']; parent::__construct($mysql); } }
Constructor Properties
- model: string
- table: string
- primaryKey: string
- foreignKey: string
- fields: array
- requiredFields: array
- uniqueFields: array
- hasMany: array
- belongsTo: array
- hasAndBelongsToMany: array
Methods
- getAll() : array
- getById(int $modelId) : array
- getBySearch(array ['key' => 'value']) : array
- insert(array $data) : array
- updateById(int $modelId, array $data) : array
- deleteById(int $modelId): void