我正在使用distinct和list来检索已经插入的值列表。
$listColor = $group->where('map_polygon_color', '!=', '')->distinct('map_polygon_color')->lists('map_polygon_color');
为我生成一个坚实的颜色列表。
现在我获取(如果有选定的颜色)颜色:
$selectedColor = array_search($group->map_polygon_color, $listColor);
好的,我得到了一个包含颜色和当前所选列表的列表。现在我把它发送到一个模型绑定的形式:
{!! Form::select('map_polygon_color', $listColor, $selectedColor, ['class' => 'form-control']) !!}
现在的问题是:是否有(simpel)方法直接在模板中执行此操作?我的selectedColor需要颜色列表数组来检索所选的键。
//编辑颜色数组:
array:5 [▼
0 => "rgb(75, 0, 130)"
1 => "rgb(50, 205, 50)"
2 => "rgb(30, 144, 255)"
3 => "rgb(255, 140, 0)"
4 => "rgb(255, 0, 0)"
]
答案 0 :(得分:1)
我不确定这是否有效,但您可以像这样制作$listColor
数组:
[
'rgb(75, 0, 130)' => 'rgb(75, 0, 130)',
'rgb(50, 205, 50)' => 'rgb(50, 205, 50)'
// etc
]
在map_polygon_color
中使用lists
两次:
$listColor = $group->where('map_polygon_color', '!=', '')
->distinct('map_polygon_color')
->lists('map_polygon_color', 'map_polygon_color');
然后你至少不必做array_search
如果我正确理解你的结构,那么模型绑定应该注意设置正确的值:
{!! Form::select('map_polygon_color', $listColor, null, ['class' => 'form-control']) !!}