PoemTable2.php 1.01 KB
<?php
/**
 * Created by PhpStorm.
 * User: lishuai
 * Date: 2022/1/10
 * Time: 5:57 PM
 */

namespace App\Admin\Renderable;

use App\Admin\Repositories\OnePoem;
use App\Models\OnePoem2;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\LazyRenderable;

class PoemTable2 extends LazyRenderable
{
    public function grid(): Grid
    {
        return Grid::make(new OnePoem2(), function (Grid $grid) {
            $grid->model()->with('verses');
            $grid->column('id')->sortable();
            $grid->column('title');
            $grid->column('author');
            $grid->verses('正文')->pluck('stanza')->label();
            $grid->column('created_at');
            $grid->column('updated_at')->sortable();

            $grid->quickSearch(['title', 'author']);

            $grid->paginate(10);
            $grid->disableActions();

            $grid->filter(function (Grid\Filter $filter) {
                $filter->like('title')->width(3);
                $filter->like('author')->width(3);
            });
        });
    }
}