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

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

添加路由

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

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

控制器

使用代码生成器生成 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');

        });
    });
}

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

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

<?php 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);
    }
}

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');
    });
}

添加菜单

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SevDot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值