add select
This commit is contained in:
parent
2d8f945cad
commit
53eb536213
@ -30,8 +30,12 @@ class PostController extends Controller
|
||||
$postForm = new CreatePostForm();
|
||||
$postService = new PostService();
|
||||
$postForm->load($_REQUEST);
|
||||
// Debug::dd($_REQUEST);
|
||||
if(UserService::check($_REQUEST['user_id'])) {
|
||||
// Debug::dd(123);
|
||||
if ($postForm->validate()) {
|
||||
|
||||
// Debug::dd($postForm);
|
||||
$post = $postService->create($postForm);
|
||||
if ($post) {
|
||||
$this->redirect("/admin/post/" . $post->id);
|
||||
@ -103,7 +107,8 @@ class PostController extends Controller
|
||||
|
||||
#[NoReturn] public function actionDelete($id): void
|
||||
{
|
||||
Post::find($id)->delete();
|
||||
$post = Post::find($id)->first();
|
||||
$post->delete();
|
||||
$this->redirect("/admin/post/");
|
||||
}
|
||||
}
|
@ -10,7 +10,7 @@ class CreatePostForm extends FormModel
|
||||
{
|
||||
return [
|
||||
'content' => 'required|min-str-len:1',
|
||||
'user_id' => 'required|min-str-len:1',
|
||||
'user_id' => 'required',
|
||||
];
|
||||
}
|
||||
}
|
@ -44,4 +44,16 @@ class UserService
|
||||
return false;
|
||||
}
|
||||
|
||||
public static function createUsernameArr(): array
|
||||
{
|
||||
foreach (User::all()->toArray() as $user) {
|
||||
|
||||
$userArr[$user['id']] = $user['username'];;
|
||||
}
|
||||
if (!empty($userArr)) {
|
||||
return $userArr;
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
}
|
16
app/tables/columns/PostDeleteActionColumn.php
Normal file
16
app/tables/columns/PostDeleteActionColumn.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace app\tables\columns;
|
||||
|
||||
use Itguild\Tables\ActionColumn\ActionColumn;
|
||||
|
||||
class PostDeleteActionColumn extends ActionColumn
|
||||
{
|
||||
protected string $prefix = "/delete/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
||||
$link = $this->baseUrl . $this->prefix . $this->id;
|
||||
return " <a href='$link' class='btn btn-danger'>Удалить</a> ";
|
||||
}
|
||||
}
|
16
app/tables/columns/PostViewActionColumn.php
Normal file
16
app/tables/columns/PostViewActionColumn.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace app\tables\columns;
|
||||
|
||||
use Itguild\Tables\ActionColumn\ActionColumn;
|
||||
|
||||
class PostViewActionColumn extends actionColumn
|
||||
{
|
||||
protected string $prefix = "/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
||||
$link = $this->baseUrl . $this->prefix . $this->id;
|
||||
return " <a href='$link' class='btn btn-primary'>Просмотр</a> ";
|
||||
}
|
||||
}
|
@ -7,11 +7,11 @@ use Itguild\Tables\ActionColumn\ActionColumn;
|
||||
|
||||
class UserDeleteActionColumn extends ActionColumn
|
||||
{
|
||||
protected string $prefix = "/";
|
||||
protected string $prefix = "/delete/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
||||
$link = $this->baseUrl . $this->prefix . "delete" . $this->prefix . $this->id;
|
||||
$link = $this->baseUrl . $this->prefix . $this->id;
|
||||
return " <a href='$link' class='btn btn-danger'>Удалить</a> ";
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ use Itguild\Tables\ActionColumn\ActionColumn;
|
||||
|
||||
class UserEditActionColumn extends ActionColumn
|
||||
{
|
||||
protected string $prefix = "/";
|
||||
protected string $prefix = "/update/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
||||
|
2
m.php
2
m.php
@ -9,6 +9,6 @@ require_once __DIR__ . "/vendor/autoload.php";
|
||||
require_once __DIR__ . "/bootstrap.php";
|
||||
|
||||
//UserMigration::up();
|
||||
PostMigration::up();
|
||||
//PostMigration::up();
|
||||
//AnswerMigration::up();
|
||||
//QuestionMigration::up();
|
@ -18,7 +18,7 @@ class PostMigration extends Migration
|
||||
{
|
||||
Manager::schema()->create('post', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->string('content', 3000)->nullable(false);
|
||||
$table->text('content')->nullable(false);
|
||||
$table->integer('user_id');
|
||||
$table->timestamps();
|
||||
});
|
||||
|
@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
use app\models\Post;
|
||||
use app\models\User;
|
||||
|
||||
$form = new \itguild\forms\ActiveForm();
|
||||
$form->beginForm(isset($model) ? "/admin/post/edit/" . $model->id : "/admin/post");
|
||||
@ -16,14 +17,19 @@ $form->field(class: \itguild\forms\inputs\TextArea::class, name: "content", para
|
||||
])
|
||||
->setLabel("Пост")
|
||||
->render();
|
||||
|
||||
$form->field(class: \itguild\forms\inputs\TextInput::class, name: "user_id", params: [
|
||||
$form->field(class: \itguild\forms\inputs\Select::class, name: "user_id", params: [
|
||||
//$form->field(class: \itguild\forms\inputs\Select::class, name: "username", params: [
|
||||
'class' => "form-control",
|
||||
'placeholder' => 'id',
|
||||
'value' => $model->user_id ?? ''
|
||||
])
|
||||
->setLabel("id пользователя")
|
||||
->setLabel("Пользователи")
|
||||
->setOptions(\app\services\UserService::createUsernameArr())
|
||||
// ->setOptions([\app\services\UserService::createIdArr()[74] => \app\services\UserService::createUsernameArr()[1],
|
||||
// \app\services\UserService::createUsernameArr()[74],
|
||||
// \app\services\UserService::createUsernameArr()[82],])
|
||||
->render();
|
||||
\app\helpers\Debug::prn(\app\services\UserService::createUsernameArr());
|
||||
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
|
@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
use app\models\Post;
|
||||
use app\tables\columns\UserDeleteActionColumn;
|
||||
use app\tables\columns\UserEditActionColumn;
|
||||
use app\tables\columns\UserViewActionColumn;
|
||||
use app\tables\columns\PostDeleteActionColumn;
|
||||
use app\tables\columns\PostEditActionColumn;
|
||||
use app\tables\columns\PostViewActionColumn;
|
||||
use Itguild\Tables\ListJsonTable;
|
||||
use kernel\IGTabel\btn\PrimaryBtn;
|
||||
use kernel\IGTabel\ListJsonTableEloquentCollection;
|
||||
@ -24,8 +24,8 @@ $table->beforePrint(function (){
|
||||
return PrimaryBtn::create("Создать", "/admin/post/create")->fetch();
|
||||
//return (new PrimaryBtn("Создать", "/admin/user/create"))->fetch();
|
||||
});
|
||||
$table->addAction(UserViewActionColumn::class);
|
||||
$table->addAction(\app\tables\columns\PostEditActionColumn::class);
|
||||
$table->addAction(UserDeleteActionColumn::class);
|
||||
$table->addAction(PostViewActionColumn::class);
|
||||
$table->addAction(PostEditActionColumn::class);
|
||||
$table->addAction(PostDeleteActionColumn::class);
|
||||
$table->create();
|
||||
$table->render();
|
Loading…
Reference in New Issue
Block a user