• Laravel 博客开发|管理后台里程碑管理


    前面已经实现在管理后台的项目管理,现在来实现管理后台的项目里程碑管理。

    添加路由

    修改后台路由 app/Admin/routes.php文件,添加如下路由:

    $router->resource('milestones', 'MilestonesController');
    
    • 1

    控制器

    使用代码生成器生成 MilestonesController.php 控制器文件。

    1. 里程碑列表

    MilestonesController控制器中,grid方法对应的是项目列表,修改 grid方法:

    protected function grid()
    {
        return Grid::make(Milestone::with(['project']), function (Grid $grid) {
            $grid->column('id')->sortable();
            $grid->column('title');
            $grid->column('project.name','项目');
            $grid->column('created_at')->sortable();
    
            $grid->filter(function (Grid\Filter $filter) {
                $filter->equal('id');
                $filter->like('title');
    
            });
        });
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    上面代码中,使用 image方法显示图片,设置高和宽为 40。

    修改Milestone模型,引入 HasDateTimeFormatter 解决时间显示不对的问题:

     namespace App\Models;
    
    use Dcat\Admin\Traits\HasDateTimeFormatter;
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;
    
    class Milestone extends Model
    {
        use HasFactory;
        use HasDateTimeFormatter;
        public function project(){
            return $this->belongsTo(Project::class);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2. 添加和编辑里程碑

    MilestonesController控制器中,form方法对应的是添加和编辑里程碑,修改form方法为如下内容:

    protected function form()
    {
        $projects = Project::pluck('name','id');
        return Form::make(new Milestone(), function (Form $form) use($projects) {
            $form->display('id');
            $form->select('project_id')->options($projects);
            $form->text('title');
            $form->text('content');
    
            $form->display('created_at');
            $form->display('updated_at');
        });
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    添加菜单

    为了方便管理,打开菜单,在内容管理菜单下面添加一个里程碑管理菜单。

  • 相关阅读:
    lattice crosslink开发板mipi核心板csi测试dsi屏lif md6000 fpga
    网络原理TCP/UDP
    一文带你迅速掌握python装饰器
    OSGeoLive 15.0 版本发布
    (笔记整理未完成)【图论】图的遍历
    C语言标准规范版本介绍
    QT--多线程与MySQL数据库
    网易数帆自主创新再获认可:轻舟微服务入选信创技术图谱
    基于JAVA高校共享单车管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
    在 AWS EKS 上部署 EMQX MQTT 集群
  • 原文地址:https://blog.csdn.net/u010212601/article/details/126518584