37 lines
969 B
PHP
37 lines
969 B
PHP
<?php
|
|
|
|
namespace kernel\IGTabel;
|
|
|
|
use app\helpers\Debug;
|
|
use app\models\User;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class ViewJsonTableEloquentModel
|
|
{
|
|
private string|null $jsonStr;
|
|
|
|
private array $meta = [];
|
|
|
|
public function __construct(Model $model, array $params = [])
|
|
{
|
|
$this->meta['rows'] = $params['rows'] ?? $model->labels();
|
|
$this->meta['baseUrl'] = $params['baseUrl'] ?? $model->table;
|
|
$this->meta['params'] = $params['params'] ?? [];
|
|
$this->meta['actions'] = $params['actions'] ?? [];
|
|
|
|
// $this->jsonStr = (new JSONCreator($this->meta, $model->toArray()))->getJson();
|
|
$model = $model->toArray();
|
|
if(isset($model['user_id']))
|
|
{
|
|
$model['user_id'] = User::find($model['user_id'])->username;
|
|
}
|
|
|
|
$this->jsonStr = (new JSONCreator($this->meta, $model))->getJson();
|
|
}
|
|
|
|
public function getJson(): ?string
|
|
{
|
|
return $this->jsonStr;
|
|
}
|
|
|
|
} |