为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 表单显示正确的数据但在数据库中存储不正确的值

Laravel 表单显示正确的数据但在数据库中存储不正确的值

PHP
收到一只叮咚 2022-10-28 09:31:42
我在我的网站上遇到了一个错误,我对如何修复它感到困惑.. 基本上我有一个创建课程的视图,我输入一个课程标题,然后为该课程分配一个讲师,然后单击保存。但是当我回到我的索引页面时......我分配的导师完全不同。看来我的选择肯定有问题,但我不确定如何修复它。我是 laravel 的新手,因此非常感谢任何帮助。我添加了一张图片以尝试进一步解释我的问题,在这里我选择了一位讲师-当我返回我的索引页面时,新创建的课程“测试”分配了管理员用户......我很困惑 -创建.blade.php@extends('layouts.app')@section('content')    <div class="row justify-content-center">        <div class="col-md-8">            <div class="card">                <div class="card-header">Create Course</div>                <div class="card-body">                        <form method="POST" action="{{ route('admin.courses.store') }}" enctype="multipart/form-data">                            @csrf                            <div class="form-group">                                    <label class="required" for="name">Course Title</label>                                    <input class="form-control" type="text" name="title" id="id" value="{{ old('title', '') }}" required>                                    @if($errors->has('name'))                                    <div class="invalid-feedback">                                        {{ $errors->first('name') }}                                    </div>                                @endif                            </div>                            <div class="form-group {{ $errors->has('instructors') ? 'has-error' : '' }}">                                <label class="required" for="name">Instructors</label>                                    <select class="form-control select2" name="instructors[]" id="instructors" multiple>                                        @foreach($instructors as $id => $instructors)                                            <option value="{{ $id }}" {{ in_array($id, old('instructors', [])) ? 'selected' : '' }}>{{ $instructors }}</option>                                        @endforeach                                    </select>                            </div>                    </form>                </div>            </div>            @endsection
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

您正在更新数据而key不是id


尝试这个


在控制器中


 $instructors = User::whereHas('role', function ($query) { 

            $query->where('role_id', 2); })->select('id','name')->get(); 

在刀片


您将需要instructors->id更新正确的值


@foreach($instructors as $id => $instructor)

<option value="{{ $instructor->id }}" {{ in_array($id, old('instructors', [])) ? 'selected' : '' }}>{{ $instructor->name }}

</option>

@endforeach


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信