get(); $table = new ListEloquentTable(new EloquentDataProvider(Post::class, [ 'currentPage' => $page_number, 'perPage' => 3, 'params' => ["class" => "table table-bordered", "border" => "2"], 'baseUrl' => "/admin/post", 'searchPrefix' => "", 'searchParams' => (new \kernel\Request())->get() ])); //\kernel\helpers\Debug::dd((new \kernel\Request())->get()); $view->setTitle("Список постов"); $view->setMeta([ 'description' => 'Список постов системы' ]); $entityRelation = new \kernel\EntityRelation(); $additionals = $entityRelation->getEntityRelationsBySlug("post"); foreach ($additionals as $additional) { $table->addColumn($additional, $additional, function ($id) use ($entityRelation, $additional) { return $entityRelation->getAdditionalPropertyByEntityId("post", $id, $additional); }); } //\kernel\helpers\Debug::dd($request); $table->columns([ 'title' => [ 'filter' => [ 'class' => \Itguild\Tables\Filter\InputTextFilter::class, 'value' => $request['title'] ?? '' ] ], 'content' => [ 'filter' => [ 'class' => \Itguild\Tables\Filter\InputTextFilter::class, 'value' => $request['content'] ?? '' ] ], 'created_at' => [ 'format' => 'date:d-m-Y', ], 'updated_at' => function ($data) { if (!$data) { return null; } return (new DateTimeImmutable($data))->format("d-m-Y"); }, 'user_id' => [ 'value' => function ($data) { return User::find($data)->username; }, 'filter' => [ 'class' => \kernel\filters\CustomSelectFilterForAssociativeArr::class, 'param' => \kernel\modules\user\service\UserService::createUsernameArr(), 'value' => $request['user_id'] ?? '' ] ] ]); $table->beforePrint(function () { return IconBtnCreateWidget::create(['url' => '/admin/post/create'])->run(); }); $table->addAction(function ($row) { return IconBtnViewWidget::create(['url' => '/admin/post/view/' . $row['id']])->run(); }); $table->addAction(function ($row) { return IconBtnEditWidget::create(['url' => '/admin/post/update/' . $row['id']])->run(); }); $table->addAction(function ($row) { return IconBtnDeleteWidget::create(['url' => '/admin/post/delete/' . $row['id']])->run(); }); $table->create(); $table->render();