fastadmin 编辑根据一对多显示多个相同的下拉框和输入框
时间: 2024-09-19 17:06:25 浏览: 48
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
FastAdmin是一个基于ThinkPHP5的快速开发框架,它提供了一套简洁而强大的后台管理界面模板。当你需要在一个一对一或一对多关联的数据表中编辑时,可能会遇到这样的需求:在主表中显示子表相关的下拉框和输入框,每个子表项都作为复选或单独选项呈现。
例如,如果你有一个文章和标签是一对多的关系,要在编辑文章时让用户选择并添加多个标签,可以这样做:
1. 创建一个包含文章ID和标签ID的关联数组,通常在数据库模型层获取。
```php
$tags = Article::getTags($articleId); // 获取当前文章的所有标签
```
2. 在编辑视图(blade模板)中,遍历这个关联数组,为每一个标签创建一个下拉框或输入框。你可以使用`form-control`的类来自带Bootstrap的样式。
```html
@foreach ($tags as $tag)
<div class="form-group">
<label>标签</label>
<select name="tag_ids[]" class="form-control" multiple>
@foreach (Tag::all() as $t)
<option value="{{ $t->id }}" {{ in_array($t->id, $tag) ? 'selected' : '' }}> {{ $t->name }} </option>
@endforeach
</select>
</div>
@endforeach
```
在这个示例里,用户可以选择已有的标签,也可以添加新的标签。
阅读全文