backend/kernel/IGTabel/ListJsonTableEloquentCollection.php

42 lines
1.2 KiB
PHP
Raw Normal View History

2024-07-16 13:37:34 +03:00
<?php
2024-08-07 15:30:45 +03:00
//
//namespace kernel\IGTabel;
//
//use app\helpers\Debug;
//use Illuminate\Database\Eloquent\Collection;
//
//class ListJsonTableEloquentCollection
//{
// private string|null $jsonStr;
// private array $meta = [];
//
// /**
// * @param Collection $collection
// * @param array $params
// * @throws \Exception
// */
// public function __construct(Collection $collection, array $params = [])
// {
// if (!isset($params['model'])) {
// throw new \Exception(message: "The parameter model must not be empty");
// }
// $model = new $params['model']();
// $this->meta['columns'] = $params['columns'] ?? $model->labels();
// $this->meta['perPage'] = $params['perPage'] ?? 10;
// $this->meta['currentPage'] = $params['currentPage'] ?? 1;
// $this->meta['baseUrl'] = $params['baseUrl'] ?? $model->table;
// $this->meta['params'] = $params['params'] ?? [];
// $this->meta['actions'] = $params['actions'] ?? [];
//
// $this->jsonStr = (new JSONCreator($this->meta, $collection->toArray()))->getJson();
// }
//
// /**
// * @return string|null
// */
// public function getJson(): string|null
// {
// return $this->jsonStr;
// }
//
//}