Laravel-admin 发布 1.6.0 版本,以及近期的一些更新
115

在过去的这段时间里,laravel-admin发布了v1.5.16v1.5.19v1.6.0等几个版本,在这里对这几个版本中比较大的更新,做一下总结

数据详情页

在版本v1.5.16中增加了model-show用来显示数据详情

class UserController extends Controller
{
    public function show($id, Content $content)
    {
        $show = new Show(User::findOrFail($id));
        $show->name();
        $show->avatar()->image();
        $show->username();
        $show->email();
        $show->created_at();
        $show->updated_at();

        return $content
            ->header('Title')
            ->description('Description...')
            ->body($show);
    }
}

对于一对一关系,用下面的方式来实现

$show->profile(function ($profile) {
    $profile->homepage()->link();
    $profile->mobile();
    $profile->gender();
    $profile->birthday();
    $profile->age();
    $profile->created_at();
    $profile->updated_at();
});

对于一对多关系

$show->friends(function ($friend) {
    $friend->name();
    $friend->email();
});

效果参考demo

重构过滤器

v1.5.18版本中重构了过滤器的样式,从原来的弹出modal,改为了嵌入表格头部,并且可以展开和收起,另外为了解决过滤器过多导致的页面太长的问题,增强了表单多列布局的功能

$filter->column(1/2, function ($filter) {
    $filter->like('title');
    $filter->between('rate');
});

$filter->column(1/2, function ($filter) {
    $filter->equal('created_at')->datetime();
    $filter->between('updated_at')->datetime();
});

用上面的代码即可实现下图的效果
wx20180909-211708
有时候你可能想要定义一些常用的查询范围,能方便快速的查询到这个常用的范围,可以通过新增的scope方法实现

$filter->scope('male', '男性')->where('gender', 'm');

// 多条件查询
$filter->scope('new', '最近修改')
    ->whereDate('created_at', date('Y-m-d'))
    ->orWhere('updated_at', date('Y-m-d'));

// 关联关系查询
$filter->scope('address')->whereHas('profile', function ($query) {
    $query->whereNotNull('address');
});

$filter->scope('trashed', '被软删除的数据')->onlyTrashed();

上面的代码将会在筛选按钮的右边生成一个下来菜单,点击菜单即可执行相应的查询,效果参考下面
wx20180909-212031

有些场景下,对同一个字段有多种查询方式,对分数字段score><=查询, 通过新增的group方法实现

$filter->group('score', function ($group) {
    $group->equal('等于');
    $group->gt('大于');
    $group->lt('小于');
});

实现类似下图的效果
wx20180909-212049

增强命令行工具

v1.5.19版本中增强了命令行工具,增加了三个命令adminadminadmin:create-useradmin:reset-password, 并且增强了admin:make命令,它将会根据模型对应的表的字段来生成列表页、详情页、表单页相应的代码,

详情参考命令行工具

扩展开发

其实laravel-admin在很早的版本里面就已经支持三方扩展了,只不过一直没有时间来对这一块进行完善和推动,所以这一块的功能一直停滞不前.

v1.6.0版本中最大的更新就是对laravel-admin的第三方扩展做了增强,在这个版本中增加了一个admin:extend命令用来生成laravel-admin扩展骨架,根据文档可以快速的开发出一个通用的laravel-admin扩展, 详细可参考扩展开发.

目前已经可用的扩展有下面一些:

Extension Description laravel-admin
helpers 开发帮助工具 ~1.5
media-manager 本地文件管理器 ~1.5
api-tester Laravel api测试工具 ~1.5
scheduling 定时任务管理 ~1.5
redis-manager 一个Redis 管理器 ~1.5
backup 备份管理 ~1.5
log-viewer Laravel日志查看 ~1.5
config 配置管理 ~1.5
reporter 异常查看 ~1.5
wangEditor 一个基于 wangeditor 的富文本编辑器 ~1.6
summernote 一个基于 summernote 的富文本编辑器 ~1.6
china-distpicker 一个基于distpicker的中国省市区选择器 ~1.6
simplemde 一个基于 simplemde 的markdown编辑器 ~1.6
phpinfo phpinfo页面集成进laravel-admin ~1.6

Laravel nova发布的不到一个月的时间里,就已经有了上百个扩展了,在这方面laravel-admin的生态落后很多, 我希望如果大家在使用laravel-admin的过程中,有实现一些扩展功能,不妨按照上面的文档包装成一个laravel-admin扩展,共享给更多人使用, 另外大家如果有好的idea,也不妨分享出来,其它有时间有精力的同学或许可以和你一起实现它,laravel-admin需要更多人的参与才能形成更好的生态系统。

不久的将来,laravel-admin将会尝试参考fastadmin的方式,将部分扩展组件商业化, 同样欢迎大家参与!

本帖由系统于 2个月前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 23

加油!

2个月前

第一次用laravel做后台随便选择一款,就选择了laravel-admin,打开xxx/admin登陆前觉得估计也就看看而已,打开用了一会后,发现喜欢上了laravel-admin

2个月前

可以的,我现在的项目就在用这个后台,其实已经很不错了,支持继续优化,到时候像fastadmin那样子的模式我肯定会支持一份,如果能像fastadmin那样别太贵就好哈哈

2个月前

有时间和idea的 同学们可以参与laravel-admin。的确好用。

2个月前

正在用,支持!!

2个月前

@song 响应大牛号召,写了一个 Code editor extension for laravel-admin。

地址:https://github.com/jxlwqq/code-mirror

2个月前
keer

现在1.5.15 直接升级1.6.0 会有比较大的影响不。自己自定义了一下过滤查询

2个月前
largezhou

之前抱着学习的态度,“抄”了一遍1.2版本的代码,前端改用layui,,那时候,我就是把过滤表单放在表格顶部,然后可以展开和收起~~~

2个月前
DianWang

预览功能做弹出层会比较好一点,这个框架主要是交互的问题,其他都相当完善了。

2个月前

编辑操作能不能改为弹出的模态框形式,直接进入新页面回去后还得重新翻页找那一条数据去

2个月前

赞,用Laravel admin做了不少项目后台 , 也从源码里借鉴了许多实现方式

2个月前

@侧面 @eiomi @Tinywind @largezhou @DianWang @carlclone 谢谢支持!

@MushishiXian 肯定不会太贵

@jxlwqq 给你的效率点赞!

@keer 影响不大,更新之前可以备份一下

@sand 感觉不太好实现

2个月前

非常好用,期间用了fastadmin,但还是喜欢laravel admin这种传统的页面切换的后台界面

2个月前
ziyanziyu

@sand 如果用layui的话,很好实现,layer.open打开编辑链接就可以了.可以把原edit关闭,自己引用layer,封装一个open函数,然后使用

2个月前

这个是真的好用,希望啥时候把adminlte升级到2.4.*

2个月前

laravel-admin的页面引擎可以单独抽出来吗,简直是效率神器

2个月前

@terranc fastadmin个人感觉不习惯,laravel admin干净。操作方便。 :+1:

2个月前
ibucoin

之前看过Laravel Admin的源码,后面没什么时间就放弃掉了,项目都直接用的fastadmin。如果后续能就这个框架的结构出几篇文章就更好了,能更加深入这个后台。

2个月前
tudou

支持,正在使用

2个月前

用fastadmin开发了很多东西,laravel-admin只简单的试用过,能fastadmin化当然更好,多一个选择,laravel生态也比tp完整。

2个月前

根据下拉框选项得不同来显示不同得表单

1个月前
熊能

一直在用,已经写了两个项目了~特意来赞一下~

1个月前

我们公司的后台也一直都使用的这个后台,棒棒哒。

1周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!