bacao/laravel-admin-hasmany-extra
最新稳定版本:1.0.1
Composer 安装命令:
composer require bacao/laravel-admin-hasmany-extra
包简介
Laravel-admin helpers for hasMany multiple image upload and nested conditional fields.
README 文档
README
laravel-admin 扩展,提供两块能力:
hasMany里的多图上传、排序、删除hasMany/NestedForm里的原生链式->when(...)条件显示hasMany/NestedForm里的table(...)JSON 表格兼容
安装
composer require bacao/laravel-admin-hasmany-extra
字段注册
扩展安装后会自动注册:
$form->hasmanyExtraMultipleImage('banner', 'Banner');
如果你想保持旧项目里的方法名,也可以在项目自己的 app/Admin/bootstrap.php 里再加一行:
\Encore\Admin\Form::extend('hasmanyMultipleImage', \Encore\HasmanyExtra\Fields\HasManyMultipleImage::class);
多图上传
多图上传的值解析、旧图排序同步、单张删除都已经内置:
$form->hasMany('items', '商品项目', function (Form\NestedForm $form) { $form->hasmanyExtraMultipleImage('banner', 'Banner图') ->uniqueName() ->removable() ->sortable(); });
条件显示
安装这个扩展后,hasMany 里的 radio()->when(...) 可以直接按 laravel-admin 原生写法使用:
$form->hasMany('items', '商品项目', function (Form\NestedForm $form) { $form->radio('type', '类型')->options([ 1 => '厨师介绍', 2 => '餐品介绍', 3 => '菜单介绍', 4 => '酒店介绍', ])->when(3, function (Form\NestedForm $form) { $form->textarea('menu', '菜单'); }); });
hasMany 里的 table
在 NestedForm 里可以继续按接近 laravel-admin 原生的写法使用(目前只支持text和textarea):
$form->hasMany('items', '商品项目', function (Form\NestedForm $form) { $form->table('menu', '子菜单', function ($table) { $table->text('name', '名称'); $table->textarea('desc', '描述'); }); });
删除接口
扩展会自动注册后台路由:
POST /admin/hasmany-extra/delete
用于处理 hasMany 子项里的单张旧图删除。
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-02