CRUD model class

Installation

composer require mezon/crud-service-model

First steps

class EntityModel extends CrudServiceModel
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct('*', 'entity_table_name');
}
}
parent::__construct('*', 'entity_table_name');
parent::__construct('id,field1,field2,field3', 'entity_table_name');
// Method fetches all new records since the $date
// For example $model->newRecordsSince($domainId, '2021-01-01');
newRecordsSince($domainId, string $date): array;
// Method calculates count of records fetched by filter
// For example $model->recordsCount(false, ['field1 = 1', 'field2 = 2']);
recordsCount($domainId = false, array $where = ['1=1']);
// Method returns data as is without any transformations
getSimpleRecords($domainId, int $from, int $limit, array $where, array $order = []): array;
// Method returns records wich are transformed by method getRecordsTransformer wuch
// you can override in your subclass
getRecords($domainId, int $from, int $limit, array $where = ['1=1'], array $order = []): array;
// Method returns the last $count records filtered by where
lastRecords($domainId, $count, $where): array;
// Method returns records by their ids
fetchRecordsByIds($domainId, string $ids): array;
// Method calculates count of records grouped by fieldName and filtered by where
recordsCountByField($domainId, string $fieldName, array $where): array;
// Method updates records with values record
updateBasicFields($domainId, array $record, array $where): array;
// Method inserts record record
insertBasicFields(array $record, $domainId = 0): array;
// Method deletes all records filtered by where
deleteFiltered($domainId, array $where): int;

It will be great if you will contribute something to this project. Documentation, sharing the project in your social media, bug fixing, refactoring, or even submitting issue with question or feature request. Thanks anyway )

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store