You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel动态下拉框选择技师时显示undefined问题排查

解决技师下拉框显示undefined的问题

看了你给出的代码,我梳理出几个大概率导致这个问题的关键点,咱们一步步来排查:

1. 技师数据未关联user表获取名称

你明确说技师名称存在user表,但在create方法里,你直接从Technicien模型取数据,没有关联user表:

$technicien = Technicien::orderBy('id', 'desc')->get();

如果Technicien和User是关联关系(比如technicien表有user_id外键),首先得确保模型里的关联是正确的:

// app/Technicien.php
public function user()
{
    return $this->belongsTo(User::class); // 对应technicien表的user_id字段
}

然后在create方法里预加载关联的用户数据,这样才能拿到技师名称:

$technicien = Technicien::with('user')->orderBy('id', 'desc')->get();

2. 前端渲染下拉框时未正确调用名称字段

假设你前端渲染技师下拉框的代码是类似这样的,要确保调用的是关联user的名称字段,而不是Technicien模型本身没有的字段:

<select name="technicien_id" id="technicien_id">
    @foreach($technicien as $tech)
        <!-- 这里用$tech->user->name,而不是$tech->name -->
        <option value="{{ $tech->id }}">{{ $tech->user->name ?? '未设置名称' }}</option>
    @endforeach
</select>

如果直接用$tech->name,而technicien表本身没有name字段,自然会返回undefined。

3. 动态加载技师的AJAX逻辑问题

你提供的blade代码里AJAX部分不完整,但如果是动态加载技师选项的场景,要确保接口返回的数据包含用户名称:
比如新增一个返回技师列表的接口:

public function getTechniciens(Request $request)
{
    $techniciens = Technicien::with('user')->get(['id', 'user_id']);
    // 整理成前端需要的格式
    $data = $techniciens->map(function($tech) {
        return [
            'id' => $tech->id,
            'name' => $tech->user->name
        ];
    });
    return response()->json($data);
}

前端AJAX成功后渲染时,要对应取name字段:

$.ajax({
    url: '/get-techniciens', // 对应你设置的路由
    type: 'GET',
    success: function(data) {
        const select = $('#technicien_id');
        select.empty();
        data.forEach(item => {
            select.append(`<option value="${item.id}">${item.name}</option>`);
        });
    }
});

小提示:store方法的字段获取优化

另外注意你的store方法里有个小细节,建议用input()方法获取请求字段,更规范:

// 原来的写法
$intervention ->tarification_id = $request->tarificationtache_id;
// 改成
$intervention ->tarification_id = $request->input('tarificationtache_id');

先从模型关联和前端渲染这两点入手排查,应该就能解决下拉框显示undefined的问题了。

内容的提问来源于stack exchange,提问作者chagou2704

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:21:10