李帅

1.重构一言表

...@@ -3,11 +3,13 @@ ...@@ -3,11 +3,13 @@
3 namespace App\Admin\Controllers; 3 namespace App\Admin\Controllers;
4 4
5 use App\Admin\Renderable\PoemTable; 5 use App\Admin\Renderable\PoemTable;
6 +use App\Admin\Renderable\PoemTable2;
6 use App\Admin\Renderable\TemplateTable; 7 use App\Admin\Renderable\TemplateTable;
7 use App\Jobs\AdminMakeImmerse; 8 use App\Jobs\AdminMakeImmerse;
8 use App\Admin\Repositories\AdminMakeVideo; 9 use App\Admin\Repositories\AdminMakeVideo;
9 use App\Models\AdminMakeVideo as AdminVideo; 10 use App\Models\AdminMakeVideo as AdminVideo;
10 use App\Models\OnePoem; 11 use App\Models\OnePoem;
12 +use App\Models\OnePoem2;
11 use App\Models\VideoTemp; 13 use App\Models\VideoTemp;
12 use Dcat\Admin\Form; 14 use Dcat\Admin\Form;
13 use Dcat\Admin\Grid; 15 use Dcat\Admin\Grid;
...@@ -122,8 +124,8 @@ class AdminMakeVideoController extends AdminController ...@@ -122,8 +124,8 @@ class AdminMakeVideoController extends AdminController
122 124
123 $form->selectTable('poem_id','选择一言') 125 $form->selectTable('poem_id','选择一言')
124 ->title('一言诗词库') 126 ->title('一言诗词库')
125 - ->from(PoemTable::make()) 127 + ->from(PoemTable2::make())
126 - ->model(OnePoem::class,'id','title'); 128 + ->model(OnePoem2::class,'id','title');
127 $form->textarea('feel','有感'); 129 $form->textarea('feel','有感');
128 $form->text('weather','天气'); 130 $form->text('weather','天气');
129 $form->text('huangli','黄历')->default('宜'); 131 $form->text('huangli','黄历')->default('宜');
......
1 +<?php
2 +/**
3 + * Created by PhpStorm.
4 + * User: lishuai
5 + * Date: 2022/1/10
6 + * Time: 5:57 PM
7 + */
8 +
9 +namespace App\Admin\Renderable;
10 +
11 +use App\Admin\Repositories\OnePoem;
12 +use App\Models\OnePoem2;
13 +use Dcat\Admin\Grid;
14 +use Dcat\Admin\Grid\LazyRenderable;
15 +
16 +class PoemTable2 extends LazyRenderable
17 +{
18 + public function grid(): Grid
19 + {
20 + return Grid::make(new OnePoem2(), function (Grid $grid) {
21 + $grid->model()->with('verses');
22 + $grid->column('id')->sortable();
23 + $grid->column('title');
24 + $grid->column('author');
25 + $grid->verses('正文')->pluck('stanza')->label();
26 + $grid->column('created_at');
27 + $grid->column('updated_at')->sortable();
28 +
29 + $grid->quickSearch(['title', 'author']);
30 +
31 + $grid->paginate(10);
32 + $grid->disableActions();
33 +
34 + $grid->filter(function (Grid\Filter $filter) {
35 + $filter->like('title')->width(3);
36 + $filter->like('author')->width(3);
37 + });
38 + });
39 + }
40 +}
...\ No newline at end of file ...\ No newline at end of file