【发布时间】:2018-06-03 05:24:50
【问题描述】:
我正在使用下拉菜单选择 网站 为:
{{ Form::select('site', $sites, null, ['class' => 'form-control', 'placeholder' => 'Select a Site']) }}
{{ Form::label('site','site*') }}
我将选定的 站点 存储在数据库中作为 site_id。
由于这会从列表中返回所选项目的索引,因此如果选择了第一项,site_id 将在数据库中存储为 0。
这里的问题是,site_id 是我数据库中的一个外键,这会在将其与sites 表的column:id 匹配时导致错误。由于laravel迁移脚手架生成的id列从1开始,Form::select返回的site_id从0开始。
从Form::select 返回的索引是否会从1 开始?
或者有没有其他方法可以解决这个问题?
【问题讨论】:
-
你能说明你是如何为刀片服务 $sites 的吗?
-
$sites = Site::latest()->get(['name']);我正在使用 laravel compact('sites')。
-
尝试使用 Site::latest()->get()->pluck('name', 'id')->toArray() 这会将选择的索引/值更改为匹配项目的ID。
-
这样就解决了问题。谢谢@NMahurin
标签: forms laravel select drop-down-menu