fastadmin(selectpage)多选的id集合在列表转化为名称

本文详细介绍如何在PHP Laravel项目中通过foreach遍历和模型方法,将用户昵称数据从数据库映射到前端表格的'负责老师'字段。作者分享了笨办法实现数据绑定,并给出了编辑和添加多选框的HTML代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述在这里插入图片描述
把展示出来的数据集合转化为左侧的名字,我内置的addtion搞不太懂,就用了笨方法,希望能帮到大家

1.控制器

 foreach($list as &$item){
        $item->enzd = $item->enzd;
    }

2.模型

public function getEnzdAttr($value, $data)
 {
     $enzdArr =Db::name("user")->where("id", "in", $data["teacher_id"]) ->column('nickname');
     return implode(",", $enzdArr);
 }

3.js

{field: 'enzd', title: __('负责老师'), operate:false,formatter: Table.api.formatter.label},

3里面的enzd对应的是1里面的enzd 这里有个坑,大部分攻略里面写的都不对应

附带在edit和add时多选的html代码,这个不需要修改js和控制器

    <div class="form-group">
        <label class="control-label col-xs-12 col-sm-2">{:__('负责老师')}:</label>
        <div class="col-xs-12 col-sm-8">
            <input id="c-teacher_id" data-rule="required" data-source="user_staff/index"
                   data-primary-key="id" data-field="nickname" data-max-select-limit="5" //最多选择数量
                   data-multiple="true"  data-params='{"custom[is_staff]":"1"}' //where条件 比如status=1
                   class="form-control selectpage" name="row[teacher_id]" //要写入新表的字段名称
                   type="text" value="{$row.teacher_id}">
        </div>
    </div>
    ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值