41
loading...
This website collects cookies to deliver better user experience
composer require mezon/crud-service-model
class EntityModel extends CrudServiceModel
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct('*', 'entity_table_name');
}
}
parent::__construct('*', 'entity_table_name');
'*'
(all fields) from the table with name 'entity_table_name'
.parent::__construct('id,field1,field2,field3', 'entity_table_name');
id
. I shall add setting to use another name.creation_date
for fetching new records for example.domain_id
for implementing multy instancing out of the box.// 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;