【问题标题】:Form Select Storing ID instead of NAME表单选择存储 ID 而不是 NAME
【发布时间】:2019-12-29 07:01:53
【问题描述】:

我试图存储从 mysql 检索到的选定值(名称),但它存储的是 id 而不是名称?有什么建议吗?

观看次数

{{ Form::select('dept',$departments->pluck('name'),null, ['class' => 'form-control','required','placeholder'=>'Select Department']) }}

路线

Route::get('/', function () {
    $departments=Department::pluck('name','id');
    return view('index',compact('departments'));
});

控制器

public function store(Request $request)
    {
        $this->validate(request(), [
            'fname' => 'required',
            'lname' => 'required',
            'staffId' => 'required',
            'email' => 'required|email',
            'dept' => 'required',
            'role' => 'required',
            'password' => 'required|confirmed'
        ]);
        $departments=Department::pluck('name','id');
        $departments->name = $request ->input('dept');
        $user = User::create(request(['fname','lname','staffId','email','dept','role','password']));

        auth()->login($user);

        return redirect()->to('/home2');
    }

型号

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Department extends Model
{
    protected $fillable=['name'];
    protected $table='department';

}

【问题讨论】:

  • 您应该存储 id,而不是实际值。请记住,mysql 是一个关系数据库管理系统。当您查询存储的值时,使用连接来获取属于 id 的名称。
  • ...除非您的意思是存储密钥而不是值

标签: mysql laravel-5 select model


【解决方案1】:

解决了问题

<select class="form-control" id="dept" name='dept'>
@if($departments->count() > 0)
@foreach ($departments as $department)
<option value="{{ $department->id }}">{{$department->name}}</option>
@endforeach
@else
No Record Found
@endif  
</select>

下拉菜单 https://ibb.co/bvR6rc4

Mysql https://ibb.co/5FG2gWW

【讨论】:

    猜你喜欢
    • 2021-08-31
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多